Bonjour,
j'essais dans mon script cgi écrit en perl, de supprimer un utilisateur avec la commande: userdel -r user
mais ça ne marche pas
et je rappelle que les scripts s'executent en tant que root
pourquoi ça ne marche pas? >.<
Bonjour,
j'essais dans mon script cgi écrit en perl, de supprimer un utilisateur avec la commande: userdel -r user
mais ça ne marche pas
et je rappelle que les scripts s'executent en tant que root
pourquoi ça ne marche pas? >.<
Parce que ça ne marche pas ? Ma boule de cristal étant en panne, je préfèrerais voir le code.
--
Jedaï
getSystemUsers() renvoi la liste des utilisateurs contenus dans /etc/passwd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 my @users = getSystemUsers(); foreach(@users) { if($champs->{$_} eq "on") { print "Suppression de $_..."; `userdel -r $_`; print "OK<br />"; } }
le $champs->{$_} renvoi si le checkbox a été sélectionné pour etre supprimé
j'espère que ta boule marche ainsi
Bonjour,
Tu devrais vérifier ce que retourne ta commande... Essaye ceci :
Et dis nous ce que tu obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 my @users = getSystemUsers(); foreach(@users) { if($champs->{$_} eq "on") { print "Suppression de $_..."; my $rep = `userdel -r $_`; print "$rep"; } }![]()
j'ai déjà essayé d'afficher ce qui est retourné, et rien n'est affiché
par contre si je fais un :
il sort du script avec le message d'erreur spécifié
Code : Sélectionner tout - Visualiser dans une fenêtre à part `userdel -r $_` || die('erreur suppression');
Je préfèrerais que tu fasses appel à system(), je ne sais pas si userdel est censé renvoyer quoi que ce soit, et si elle envoie ses erreurs sur STDOUT et non STDERR, tu ne les récupèreras pas avec ``...
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system("userdel -r $user") == 0 or die "Userdel error : $!\n";
Jedaï
toujours même scénario...l'appel die est executé -.-
Partager