Bonjour, j'ai commencé à plancher sur le language perl car je voudrais créer un script qui puisse ajouter des utilisateurs sur proftpd via la commande ftpasswd.

Voici mon script actuel (c'est juste un début soyez indulgent ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 
#!/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 pour l'utilisateur (la partie "mot de passe" s'affiche s'affiche mais uniquement après les avoir rentrés à l'aveuglette) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Password:
Re-type password:
 
ftpasswd: entry created
Et voila le résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
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 bout de code.
merci d'avance.