Bonjour,

Le script suivant ajoute un utlisateur tt en specifiant le mot de passe

######## adduser.pl
$OWNER="how";


$PASSWORD=`sh genpass.sh`;
print "$PASSWORD";
`useradd -s /bin/false $OWNER && echo "$PASSWORD"|passwd --stdin $OWNER`;

#################

si je lance adduser.pl en ligne de commande it work.

mnt j'ai besoin d'intégrer mon script dans un fichier cgi afin de lancer dans le browser.

ceci est est le code du adduser.pl modifié

#######adduser1.pl

#!/usr/bin/perl -w
use CGI;

use File::LckPwdF;

(lock_passwd(15)) || (die "Can't lock password file:\n$! stopped");


$html = new CGI;
print $html->header,
$html->start_html(
-title=>'Rénse',
-bgcolor=>'white',
-link=>'red'
);

$OWNER="ca";


$PASSWORD=`sh genpass.sh`;
print "$PASSWORD";
`useradd -s /bin/false $OWNER && echo "$PASSWORD"|passwd --stdin $OWNER`;

(unlock_passwd()) || (die "Can't unlock password file:\n$! stopped");
print $html->end_html;


##############
ça se bloque dans la ligne suivante:

`useradd -s /bin/false $OWNER && echo "$PASSWORD"|passwd --stdin $OWNER`;

et apache me signale dans error_log :

Can't lock password file:
Permission denied stopped at ######### ligne qui lance la commande useradd

comment faire pour permettre au cgi d'avoir le droit de lancer une commande systeme comme adduser, passwd, etc.

merci pour votre aide