# Créer un nouvel utilisateur à partir d'un script bash

**URL:** <https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671>\
**Category:** Programmation\
**Tags:** bash\
**Created:** [Mai 15, 2018, 3:59 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671 "2018-05-15T15:59:40Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mai 15, 2018, 3:59 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/1 "2018-05-15T15:59:40Z")

</div>

Bonjour j’aimerais créer des utilisateur à partir de bash.  
Donc je fais un  
`useradd -m utilisateur`

le problème se pose pour le mot de passe, il y a une version non intéractive de passwd?

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mai 15, 2018, 4:05 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/2 "2018-05-15T16:05:11Z")

</div>

Je viens de trouver ca :  
`echo -e "linuxpassword\nlinuxpassword" | passwd`

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Mai 15, 2018, 6:38 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/3 "2018-05-15T18:38:53Z")

</div>

> [@txj](#):
>
> Bonjour j’aimerais créer des utilisateur à partir de bash.
> 
> Donc je fais un
> 
> useradd -m utilisateur

Quel est le but finale ?

Moi j’utiliserai plutôt un fichier texte que j’appellerai depuis un script bash pour créer mon/mes utilisateur(s).

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mai 15, 2018, 7:45 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/4 "2018-05-15T19:45:25Z")

</div>

c’est pour déployer des utilisateurs depuis un webpanel maison.

Un fichier texte? c’est à dire? a la place d’une bdd?

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 16, 2018, 3:35 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/5 "2018-05-16T15:35:19Z")

</div>

Par mes contrées, nous utilisons plutôt la commande suivante :

```auto
/usr/sbin/useradd --comment "Nom" --gid users --create-home --no-user-group --shell /bin/bash --password password user

```

où `user` est le nom de ton utilisateur et `password` le mot de passe hashé (voir crypt(3)).

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mai 19, 2018, 6:56 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/6 "2018-05-19T18:56:13Z")

</div>

je suis tombé sur cette implémentation de crypt

`useradd -d / -g users -p $(perl -e'print crypt("foo", "aa")') -M -N foo`

Je ne comprends pas par contre l’utilisation du sel sans utilisation de base de donnée, comment le système peut comparer avec les tentatives de connexion s’il ne stocke pas le sel?

c’est bon j’ai réussi mais je comprends pas comment ca peut marcher de mettre le salt qu’on veut

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 20, 2018, 5:02 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/7 "2018-05-20T17:02:44Z")

</div>

> [@txj](#):
>
> je comprends pas comment ca peut marcher de mettre le salt qu’on veut

Pareil, je ne me suis pas vraiment encore intéressé à la question…

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Mai 20, 2018, 7:20 UTC](https://www.debian-fr.org/t/creer-un-nouvel-utilisateur-a-partir-dun-script-bash/76671/8 "2018-05-20T19:20:18Z")

</div>

Bonjour

Sur mon système **debian 9.4 (stretch)**, la commande **passwd** (qui utilise la fonction **crypt** de **glibc** )  
créé des mots de passe chiffrés en utilisant le chiffrement **SHA-512** avec un **salt** de 8 caractères.

On peut voir dans le fichier **/etc/shadow** de mon système :

```nohighlight
root@debg53sw:~# grep michel /etc/shadow
michel:$6$12345678$JoBa.v9u31KYa79nJ6yAj5zvGM39eQfZ0FIsplYLa0NBt4ar9XA/jo3D/bdJica2FGylXXs/4YGIztI9Yw5dA1:17662:0:99999:7:::
root@debg53sw:~# 

```

entre les deux premiers **$** il y a le caractère **6** \<=\> **SHA-512**  
entre les deux caractères **$** suivants, se trouve le **salt** de 8 caractères : 12345678

On peut vérifier que mon mot de passe est bien **monMotDePasse** :

```nohighlight
michel@debg53sw:~$ mkpasswd monMotDePasse -S12345678 -mSHA-512
$6$12345678$JoBa.v9u31KYa79nJ6yAj5zvGM39eQfZ0FIsplYLa0NBt4ar9XA/jo3D/bdJica2FGylXXs/4YGIztI9Yw5dA1
michel@debg53sw:~$ 

```

(la commande **mkpasswd** est dans le paquetage **whois** )

* * *

**Voir :**

[stackoverflow : which is the encryption method used on etc shadow](https://stackoverflow.com/questions/12660851/which-is-the-encryption-method-used-on-etc-shadow)

[en.wikipedia.org : Salt (cryptography)](https://en.wikipedia.org/wiki/Salt_(cryptography))

```nohighlight
man 3 crypt

```
