Bonjour, j'ai commencé il y a une heure à plancher sur le language perl car je voudrais créer un script qui puisse ajouter des utilisateurs ( et plus tard les groupes ) sur proftpd via la commande ftpasswd.
Voici mon script actuel :
#!/usr/bin/perl -w
use strict;
print "\nAjouter un utilisateur dans ProFTPD\n";
print "\nEntrer le nom d'utilisateur ftp : ";
my $login = <stdin>;
chomp $login;
print "Creation de l'utilisateur $login\n";
print " Entrez l'id de $login : ";
my $id = <stdin>;
chomp $id;
print "L'id de $login est $id\n";
print "Choisir le chemin de l'utilisateur ftp : ";
my $home = <stdin>;
chomp $home;
print "Creation de l'utilisateur $login en cours ...\n";
my $result1 = `ftpasswd --passwd --file=/usr/local/etc/ftp.passwd --name=$login --uid=$id --gid=1050 --home=$home --shell=/bin/false`;
print "$result1";
Mon principal problème vient du faite que quand j'arrive au moment ou normalement après avoir entrée le chemin de l'utilisateur (/home/site/ftp), le programme se bloque et n'affiche pas la partie ou le mot de passe doit être entrer par l'utilisateur (la partie "mot de passe" s'affiche s'affiche mais uniquement après les avoir rentrés à l'aveuglette) :
Ajouter un utilisateur dans ProFTPD
Entrer le nom d'utilisateur ftp : test
Creation de l'utilisateur test
Entrez l'id de test : 1111
L'id de test est 1111
Choisir le chemin de l'utilisateur ftp : /home/site/ftp
Creation de l'utilisateur test en cours ...
ftpasswd: --passwd: missing --gid argument: default gid set to uid
----> blocage ici <-------
partie "mot de passe" qui s'affiche après les avoir tapés :
Password:
Re-type password:
ftpasswd: entry created
Le script écrit dans le fichier ftp.passwd :
cat ftp.passwd | grep test
test:$1$oG7WPS3j$AlsCymBRm6xEo6ZKR6c221:1111:1111::/home/site/ftp:/bin/false
si quelqu'un pouvait m'aider pour arranger ce script.
merci d'avance
10 juin 2008 à 12:34