# Ajout d'utilisateur a Samba

**URL:** <https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890 "2016-02-20T19:29:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890/1 "2016-02-20T19:29:01Z")

</div>

bonjour  
j’essaye de créer un script shell pour ajouter mes utilisateur a samba.  
il se trouve que j ai un pti probléme mon script doit demander à l’utilisateur le nom de la personne si le nom viens a exister alors il lui demande de saisir un autre nom autrement il créer le compte .

[code]echo “selectionner le nom de l’utilisateur à ajouter”  
read $login  
#if  
grep “$1” /etc/passwd \> /dev/null

# une commande Unix prend 0 quand son résultat est positif

if [$? -eq 0];then  
echo “le comptte vas etre créer”  
else  
echo “l’utilisteur existe déja”  
echo “saisir un autre nom”  
read $login  
grep “$1” /etc/passwd \> /dev/null  
fi  
[/code]  
le probléme c’est que quand je l’execute il ne vas pas vérifier dans passwd voir si le compte existe et j arrive pas à trouver.

merci de votre aide à tous ![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)❗

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890/2 "2016-02-20T19:29:02Z")

</div>

Bonjour,

Ta commande read est incorrecte, c’est `read login` sans le $ devant login.

Ton commentaire "# une commande Unix prend 0 quand son résultat est positif " est mal interpreté.

Un resultat positif pour la commande grep est que l’expression a été trouvé. Donc le resultat doit etre different de zero pour que le compte soit créé.

Ta commande grep est incorrecte, tu dois appele $login et non $?. Par securité, je ferais le grep comme ceci : `grep "^$login:" /etc/passwd > /dev/null`

Je ferais une boucle et tant que le nom d’utilisateur dans /etc/passwd existe alors pas de création du compte.

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890/3 "2016-02-20T19:29:03Z")

</div>

pour la boucle j etait déja entrain de la faire 😃  
juste une derniere question pourquoi “^login:” pourquoi le "^"  
encore merci

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890/4 "2016-02-20T19:29:03Z")

</div>

Bonjour,

Les noms de compte dans le fichier /etc/passwd sont entre le debut de ligne et :.

Le ^ signifie début ligne.

Voici une page qui te donnera quelques infos sur les expressions reguliere : [fr.wikipedia.org/wiki/Expression … \_sed\_et\_vi](http://fr.wikipedia.org/wiki/Expression_rationnelle#Notation_usuelle_de_grep.2C_ed.2C_sed_et_vi)

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890/5 "2016-02-20T19:29:15Z")

</div>

j essaye d’incorporé dans mon script cette ligne de commande pour dire que l’utilisateur n’a pas de mot de passe, mais quand j’execute le script voici ce qu’il me dit  
passwd: option non reconnue « --stdin »  
Usage: passwd [options] [LOGIN]

je cherche sur le net mais j ai vraiment du mal à trouver un truc pour m’aider

le code :

`useradd $login -g sambafic -b /home/Samba/$login 
echo "$mdp" | passwd --stdin "$login"
`

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 20, 2016, 7:29 UTC](https://www.debian-fr.org/t/ajout-dutilisateur-a-samba/19890/6 "2016-02-20T19:29:38Z")

</div>

j ai trouver 😆 je poserais le script dans la session script dans pas longtemps encore merci à tout le monde
