[langage] problème 'system("cd /fileserver")' sous linux
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:
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:
1 2 3
|
system("cd /fileserver") == 0
or die "cannot access /fileserver\n"; |
j'ai le message d'erreur suivant :
Code:
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:
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 !