Voici le code de mon 1er script perl, le but de ce script est de faciliter la création d'un compte utilisateur, d'un dossier et d'un accès à ce fichier via samba sur un serveur de fichier (il me reste à ajouter la partie qui ira mettre à jour le fichier de configuration /etc/samba/smb.conf)

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
if ($#ARGV + 1 != 2)
{       print "Missing parameters...\nfirst : lastname\ntwice : firstname\n";
        exit(1);
}
 
system("useradd -g DPMS -p $ARGV[1] $ARGV[0]") == 0
        or die "cannot create linux user\n";
 
system("mkdir /fileserver/$ARGV[0]") == 0
        or die "cannot create user folder\n";
 
system("cd /fileserver") == 0
        or die "cannot access /fileserver\n";
 
system("chown $ARGV[0] $ARGV[0]") == 0
        or die "cannot change onwer of folder\n";
 
system("smbpasswd -a $ARGV[0] $ARGV[1]") == 0
        or die "cannot create samba user\n";
 
system("cd /home/olivier") == 0
        or die "cannot access /home/olivier\n";
 
exit(0);
lorque le script veut executer la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
system("cd /fileserver") == 0
     or die "cannot access /fileserver\n";
j'ai le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Can't exec "cd": Aucun fichier ou répertoire de ce type at /home/olivier/create_account.pl line 15.
cannot access /fileserver
le dossier /fileserver existe car la ligne suivante s'execute sans problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
system("mkdir /fileserver/$ARGV[0]") == 0
        or die "cannot create user folder\n";
remarque : le dossier '/fileserver' existe avant le lancement du script

je developpe mon script sous linux Red Hat 9.0

Merci d'avance pour votre coup de main !