bonjour j ai un petit problème sur le script
que je n arrive pas a resoudre 
quand je viens a exécuter le script il me dit
line 26: syntaxe error: unexpected end of file
voici le code
[code]
cat persons | while true
do
read ligne
if [ “$ligne” == “” ]
then
echo “fin du fichier”
break
fi
set – $ligne
login=$1
pass=$2
if [ -d “/home/$1” ]
then
echo “le compte $1 existe déjà”
else
echo “création du compte $login”
useradd -m $login -G $1 -s /bin/bash
echo $login:$pass | chpasswd
(echo $pass ; echo $pass) | smbpasswd -s -a $login
chown $login:$groupe /home/$login
chmod 711 /home/$login
chown -R $login:$login /home/$login
done
echo “fin du script”[/code]
merci de votre aide
if [ cond ]; then
else
fi 
je ne voie pas tres bien ou je doit le rajouter
je debut 
avant home tu veux dire mais a quel endroit exactement
[code]
cat persons | while true
do
read ligne
if [ “$ligne” == “” ]
then
echo "fin du fichier"
break
fi
set – $ligne
login=$1
pass=$2
if [ -d “/home/$1” ]
then
echo "le compte $1 existe déjà"
else
echo "création du compte $login"
useradd -m $login -G $1 -s /bin/bash
echo $login:$pass | chpasswd
(echo $pass ; echo $pass) | smbpasswd -s -a $login
chown $login:$groupe /home/$login
chmod 711 /home/$login
chown -R $login:$login /home/$login
fi
done
echo “fin du script”[/code]c’est si compliqué ?
bonjour
j ai un derniere petit probleme que jen arrive pas a resoudre j essaye de faire fonctionner le script mais quand je viens a l appeler sa me dit.
[code][I]creation du compte olivier
useradd: option invalide – a
Usage: useradd [options] LOGIN
Options:
-b, --base-dir BASE_DIR base directory for the new user account
home directory
-c, --comment COMMENT set the GECOS field for the new user account
-d, --home-dir HOME_DIR home directory for the new user account
-D, --defaults print or save modified default useradd
configuration
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP for the new user account
-G, --groups GROUPS list of supplementary groups for the new
user account
-h, --help display this help message and exit
-k, --skel SKEL_DIR specify an alternative skel directory
-K, --key KEY=VALUE overrides /etc/login.defs defaults
-m, --create-home create home directory for the new user
account
-o, --non-unique allow create user with duplicate
(non-unique) UID
-p, --password PASSWORD use encrypted password for the new user
account
-r, --system create a system account
-s, --shell SHELL the login shell for the new user account
-u, --uid UID force use the UID for the new user account
chpasswd : ligne 1 : utilisateur olivier inconnu
chpasswd : erreur détectée ; modifications ignorées
New SMB password:
[/I][/code]
le corps du script
[code][I]
#!/bin/sh
cat persons | while true
do
read ligne
if [ “$ligne” == “” ]
then
echo "fin du fichier"
break
fi
set – $ligne
login=$1
pass=$2
if [ -d “/etc/samba/$1” ];then
echo "le compte $1 exisetdeja"
else
echo "creation du compte $login"
useradd -a $login -G $1 -s /etc/samba
echo $login:$pass | chpasswd
(echo $pass ; echo $pass) | smbpasswd -a $login
chown $login:$groupe /etc/samba/smbpasswd
chmod 711 /etc/samba/smbpasswd
chown -R $login:$login /etc/samba/smbpasswd
fi
done
echo “fin du script”[/I][/code]
merci de votre aide a tous !!!
Lis le message d’erreur, il dit le problème…
oui jai trouver
j ai encore un petit probleme
le dernier probleme c qu il n ajoute pas l utilisateur dans le fichier smbpasswd et la je n arrive vraiment pas a trouver.
debian:/etc/samba# ./salut
./salut: line 14: [: testt: unary operator expected
creation du compte testt
useradd : groupe testt inconnu
New SMB password:
Retype new SMB password:
fin du fichier
fin du script
Ton message d’erreur dis bien que ça n’a rien à voir avec samba. Par contre il est peut être judicieux de regarder ce qu’il te dis (genre à la ligne 14), il est même probable que ce soit un problème lié à l’opérateur qui s’y trouve.
Peut être qu’on pourras t’aider quand tu nous montreras ce qui se trouve ligne 14.
voici le script pardon
[code]#!/bin/sh
cat persons | while true
do
read ligne
if [ “$ligne” == “” ]
then
echo "fin du fichier"
break
fi
set – $ligne
login=$1
pass=$2
if [ $1 “/etc/samba” ];then
echo "le compte $1 exiset deja"
else
#useradd -g $1 -s /usr/sbin$login
echo "creation du compte $login"
useradd -g $1 -a /usr/sbin/ $login
(echo $login:$pass) | smbpasswd
(echo $pass ; echo $pass) | smbpasswd -a $login
fi
done
echo “fin du script”
[/code]
Donc ligne 14
donc si $1 contient par exemple “MrFreez” (puisque il semble, d’après la ligne 11, que ce soit un login), tu va tenter d’executer :
Ça donne quoi d’après toi ?
ce qu il aut que je fasse c est
if [ $1 == "/etc/samba/utilisateur" ];then
sa fonctionne ile ne me reste plus que le probleme
que maintenant il veut m ajouter un groupe je m explique
dans le fichier persons je rentre les nom des utilisateur a ajouter .mais quand j execute le script ile me dit
se qui me bloque c est la creation du groupe florian “qui est la variable $1”
creation du compte florian
useradd : groupe florian inconnu
New SMB password:
encore merci a vous tous

Elle fait quoi l'option -g ? (cf ton post plus haut)
Le message d'erreur est encore une fois très clair.
Ensuite pour ton test je doute qu'un jour tu te retrouve avec un utilisateur dont le login est "/etc/samba/utilisateur". Bref ton test a un problème. Qu'est ce que c'est que ce fichier "/etc/samba/utilisateur" ? (je ne connais pas samba)
Elle fait quoi l’option -g ? (cf ton post plus haut)
Le message d’erreur est encore une fois très clair.
Ensuite pour ton test je doute qu’un jour tu te retrouve avec un utilisateur dont le login est “/etc/samba/utilisateur”. Bref ton test a un problème. Qu’est ce que c’est que ce fichier “/etc/samba/utilisateur” ? (je ne connais pas samba)
samba se trouve dans /etc/samba
dans le repertoire samba j ai cree un fichier ou il y a les utilisateur
le nom de se fichier c est “utilisateur”
Donc tu veut tester s’il existe le fichier /etc/samba/$login donc :

le probleme a [b]etais/b [b]resolue/b, je posterais le script ce soir encore merci a vous tous pour votre aide !! :smt003 :smt003 :smt003 :smt003

[edit par ashgenesis]Faites attention à l’orthographe merci[/edit]