iRaZ
03/11/2004, 17h27
Voici mon code perf qui consiste à creer un tulisateur bloquer sont quota ftp et ajouter une base sql et ces privileges:
Mais voila rien ne se passe, pourtant il n'y a pas d'erreurs. Pourquoi ?
Code:
#!/usr/bin/perl print "Content-type: text/html\n\n"; # On affiche l'en-tête HTML indispensable if ($ENV{'REQUEST_METHOD'} eq 'GET') { $data=$ENV{'QUERY_STRING'}; # séparation de la chaine par paires nom=valeur foreach $d (split('&',$data)) { ($nom,$valeur)=split('=',$d); $nom=&url_decode($nom); $valeur=&url_decode($valeur); $post{$nom}=$valeur; } } $login=$post{'login'}; $pass=$post{'pass'}; print "Création compte free pour ".$login.", veillez patienter ..."; &encode_base64(`head -c 10 /dev/urandom`) =~ m/([\w]{2})/; $salt = $1; $cpass=crypt($pass,$salt); system("/usr/sbin/adduser -c \"$login\" -m -s /bin/false -g users -p ".$cpass." ".$login."\n"); foreign_call("mysql","execute_sql_logged","mysql", "create database $login"); foreign_call("mysql","execute_sql_logged","mysql", "GRANT ALL PRIVILEGES ON $login.* to $login\@localhost identified by '$pass'"); # Quota # on converti les quotas en blocks. $quotas =30000; # on définit les quotas &foreign_call("quota","edit_user_quota","$login","/home",0,$quotas,0,0); sub url_decode { local ($s)=@_; #Il faut décoder les données transmises. $s=~ tr/+/ /; $s=~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C",oct("0x$1"))/ge; $s; }
Mais voila rien ne se passe, pourtant il n'y a pas d'erreurs. Pourquoi ?