# Mot de passe

**URL:** <https://www.debian-fr.org/t/mot-de-passe/24388>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 9:22 UTC](https://www.debian-fr.org/t/mot-de-passe/24388 "2016-02-20T21:22:28Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Excess](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/9f8e36/32.png) [@Excess](https://www.debian-fr.org/u/Excess)\
**Post date:** [Février 20, 2016, 9:22 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/1 "2016-02-20T21:22:28Z")

</div>

Bonjour

Je cherche à mettre un mot de passe dans un script bash je m’explique :  
avec read je demande un mot de passe, quand je l’entre il faut que le script vérifie s’il est bon. J’ai pas d’idée… Sauriez vous comment faire pour que ce soit TOTALEMENT sécurisé ?

Merci pour votre aide 🙂

---

<div class="post-metadata">

**Author:** ![bobzer](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/41988e/32.png) [@bobzer](https://www.debian-fr.org/u/bobzer)\
**Post date:** [Février 20, 2016, 9:22 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/2 "2016-02-20T21:22:31Z")

</div>

je suis pas sur que cela soit possible  
puisque que l’ont peut toujours ouvrir et lire le code du script  
pour lire le mot de passe

---

<div class="post-metadata">

**Author:** ![Num\_s](https://www.debian-fr.org/user_avatar/www.debian-fr.org/num_s/32/3834_2.png) [@Num\_s](https://www.debian-fr.org/u/Num_s)\
**Post date:** [Février 20, 2016, 9:22 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/3 "2016-02-20T21:22:32Z")

</div>

Et en utilisant md5sum? (par exemple, ou un autre “système”… je ne suis pas sûr que md5 soit assez “solide” dans ce cas…) Tu fais la somme de ce qui est entré et tu la compare avec “l’empreinte” de ton mot de passe… 😉 … mais bon, ce n’est pas secure à 100% ça… rien n’empêche, par exemple, un bon vieux brute force des familles, si le pass est trop court… 😕 …

![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 9:22 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/4 "2016-02-20T21:22:36Z")

</div>

`HASH="FBsDK2zxt0IXE"
read MOTDEPASSE
if [`mkpasswd $MOTDEPASSE FB` = $HASH] ; then
echo Yes man
else
echo go to hell
fi
`  
essayez de trouver le mot de passe 🙂…

BF311uebag

---

<div class="post-metadata">

**Author:** ![Excess](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/9f8e36/32.png) [@Excess](https://www.debian-fr.org/u/Excess)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/5 "2016-02-20T21:23:10Z")

</div>

Merci pour toutes vos réponse oui c’est vrai que niveau sécurité c’est plutôt pour éviter que les nombreux utilisateurs de mon serv’ ne puisse lire le mdp et puis ils sont pas trop doué niveau prog donc ça va 🙂  
Question à fran.b : ton script est opérationnel ?

Merci et désolé pour le délai entre chaques réponses

---

<div class="post-metadata">

**Author:** ![Excess](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/9f8e36/32.png) [@Excess](https://www.debian-fr.org/u/Excess)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/6 "2016-02-20T21:23:11Z")

</div>

Je l’ai essayé en modifiant les variables marche pas mais ça me rappelle un peu ce que j’ai fait dans un script avec useradd où il faut crypter le mdp en md5 pour qu’il puisse etre reconnu par useradd ja sais pas…

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/7 "2016-02-20T21:23:18Z")

</div>

[quote=“Excess”]Merci pour toutes vos réponse oui c’est vrai que niveau sécurité c’est plutôt pour éviter que les nombreux utilisateurs de mon serv’ ne puisse lire le mdp et puis ils sont pas trop doué niveau prog donc ça va 🙂  
Question à fran.b : ton script est opérationnel ?  
[/quote]  
Ben oui

[quote]francois@totoche:~$ mkpasswd ploc FB  
FBFh7VjzSuqpw  
francois@totoche:~$ emacs /tmp/gre.sh  
francois@totoche:~$ /tmp/gre.sh  
ploc  
Yes man  
francois@totoche:~$ /tmp/gre.sh  
grouc  
go to hell  
francois@totoche:~$ cat /tmp/gre  
gre/ [gre.sh](http://gre.sh)  
francois@totoche:~$ cat /tmp/gre.sh  
#!/bin/sh  
HASH="FBFh7VjzSuqpw"  
read MOTDEPASSE  
if [`mkpasswd $MOTDEPASSE FB` = $HASH] ; then  
echo Yes man  
else  
echo go to hell  
fifrancois@totoche:~$  
[/quote]

---

<div class="post-metadata">

**Author:** ![Excess](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/9f8e36/32.png) [@Excess](https://www.debian-fr.org/u/Excess)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/8 "2016-02-20T21:23:18Z")

</div>

Merci beaucoup ça fonctionne 🙂  
mais le “FB” sert à quoi ? merci

---

<div class="post-metadata">

**Author:** ![tukuyomi](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/73ab20/32.png) [@tukuyomi](https://www.debian-fr.org/u/tukuyomi)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/9 "2016-02-20T21:23:24Z")

</div>

FB dans cet exemple est appelé “SALT”:  
man crypt:` salt is a two-character string chosen from the set [a–zA–Z0–9./]. This
       string is used to perturb the algorithm in one of 4096 different ways.`  
🙂

---

<div class="post-metadata">

**Author:** ![Excess](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/9f8e36/32.png) [@Excess](https://www.debian-fr.org/u/Excess)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/10 "2016-02-20T21:23:25Z")

</div>

Merci beaucoup 😃

---

<div class="post-metadata">

**Author:** ![Num\_s](https://www.debian-fr.org/user_avatar/www.debian-fr.org/num_s/32/3834_2.png) [@Num\_s](https://www.debian-fr.org/u/Num_s)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/11 "2016-02-20T21:23:34Z")

</div>

[quote=“tukuyomi”]FB dans cet exemple est appelé “SALT”:  
man crypt:` salt is a two-character string chosen from the set [a–zA–Z0–9./]. This
       string is used to perturb the algorithm in one of 4096 different ways.`  
🙂[/quote]Mais dans ce cas la longueur du mot de passe prise en compte n’est que de 8 caractères, non? … je ne suis pas allé voir le man ( 😊 ) mais j’ai essayé “empiriquement”:`$ mkpasswd 01234567 FB
FB/BqFT17mT9A
$ mkpasswd 012345678 FB
FB/BqFT17mT9A`  
Alors que sans le “salt”:`$ mkpasswd 01234567 
OquagfYktXQmo
$ mkpasswd 012345678 
g6bJMks1Nsiig` 😒

![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/12 "2016-02-20T21:23:41Z")

</div>

Mais non, c’est fait pour tester:

[quote]francois@totoche:~$ mkpasswd 012345678 g6  
g6bJMks1Nsiig  
francois@totoche:~$ mkpasswd 01234567 Oq  
OquagfYktXQmo  
francois@totoche:~$ mkpasswd 012345678 Oq  
OquagfYktXQmo  
francois@totoche:~$ mkpasswd 01234567 g6  
g6bJMks1Nsiig  
francois@totoche:~$  
[/quote]Seuls les 8 premiers caractères sont pris en compte (mais ça c’est connu sur ce type de mot de passe).

Quand tu ne précises pas la graine, celle ci est aléatoire:

[quote]francois@totoche:~$ mkpasswd 01234567  
/Zd3FDBj0eXlQ  
francois@totoche:~$ mkpasswd 01234567  
ZikJsrjSZmLzQ  
francois@totoche:~$ mkpasswd 01234567  
QV6B.HxzxIAP6  
francois@totoche:~$ mkpasswd 01234567  
I.ybhsIxN2oEA  
francois@totoche:~$ mkpasswd 01234567  
owORoS.VlmdT2  
[/quote]

---

<div class="post-metadata">

**Author:** ![Num\_s](https://www.debian-fr.org/user_avatar/www.debian-fr.org/num_s/32/3834_2.png) [@Num\_s](https://www.debian-fr.org/u/Num_s)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/13 "2016-02-20T21:23:43Z")

</div>

Merci pour ces précisions… 😉 … donc avec mkpasswd on est “limité” à 8 caractères… avec ou sans “graine” … c’est ça? … (il me semble d’ailleurs avoir entendu il y a longtemps ça… c’était pas utilisé pour le hashage des pass “système” avant? … il me semble qu’un collègue m’avait dit qu’il s’en était apperçu “par hazard”… en faisant une faute dans son long mot de passe, après le 8eme caractère et que c’était passé… 😒 … mais ce ne sont que de vague souvenir… 😉 )

![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/14 "2016-02-20T21:23:46Z")

</div>

Absolument, cela dit un mot de passe de 8 caractères avec des chiffres majuscules et minuscules reste très sûr, ça te fait 281474976710656 possibilités soit à raison d’un test toutes les microsecondes, ça te fait en gros une espérance de 2-3 ans pour craquer un mot de passe. À mon avis c’est jouable. Avec johntheripper (en ayant le Hash), tu as une espérance de 1 an avant de craquer le mot de passe sur une machine 3.6GHz… Mias désormais c’est envisageable…

---

<div class="post-metadata">

**Author:** ![branch](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@branch](https://www.debian-fr.org/u/branch)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/15 "2016-02-20T21:23:52Z")

</div>

Bonjour,

Si on met un “sleep 1” après le “go to hell”, ça fait un test par seconde au lieu d’un test par microseconde. Ca change un peu les calculs.

Sinon j’ai lu quelques trucs pour sécuriser un script shell :

`#!/bin/sh -
PATH='/usr/local/bin:/usr/bin:/bin'
\export PATH
\unalias -a
hash -r # supprimer les commandes en memoire
ulimit -H -c 0 -- # pas de fichier core
umask 0077 # a adapter`

---

<div class="post-metadata">

**Author:** ![Num\_s](https://www.debian-fr.org/user_avatar/www.debian-fr.org/num_s/32/3834_2.png) [@Num\_s](https://www.debian-fr.org/u/Num_s)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/16 "2016-02-20T21:23:56Z")

</div>

[quote=“branch”]Bonjour,

Si on met un “sleep 1” après le “go to hell”, ça fait un test par seconde au lieu d’un test par microseconde. Ca change un peu les calculs.[/quote]Pas si on a accès aux “sources”… sleep ou pas, le hash tu l’as… 😉 …

![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

---

<div class="post-metadata">

**Author:** ![branch](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@branch](https://www.debian-fr.org/u/branch)\
**Post date:** [Février 20, 2016, 9:23 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/17 "2016-02-20T21:23:59Z")

</div>

Ah oui je partais du principe que le répertoire et le fichier du script avaient les bons droits (par exemple avec un groupe spécial).

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 9:24 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/18 "2016-02-20T21:24:07Z")

</div>

Mais on peut remplacer le mkpasswd par md5sum:

`#!/bin/sh
HASH="63ae418041958618dbc9c66cf47377ce"
read MOTDEPASSE
if [`echo -n $MOTDEPASSE | md5sum | cut -f1 -d" "` = $HASH] ; then
echo Yes man
else
echo go to hell
fi`

---

<div class="post-metadata">

**Author:** ![Num\_s](https://www.debian-fr.org/user_avatar/www.debian-fr.org/num_s/32/3834_2.png) [@Num\_s](https://www.debian-fr.org/u/Num_s)\
**Post date:** [Février 20, 2016, 9:24 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/19 "2016-02-20T21:24:18Z")

</div>

[quote=“fran.b”]Mais on peut remplacer le mkpasswd par md5sum:

`#!/bin/sh
HASH="63ae418041958618dbc9c66cf47377ce"
read MOTDEPASSE
if [`echo -n $MOTDEPASSE | md5sum | cut -f1 -d" "` = $HASH] ; then
echo Yes man
else
echo go to hell
fi`[/quote]Arrête!!! t’es vraiment pas cool!!! j’ai pas encore fini de casser ton premier mot de passe… 😆 ![:smt005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif)😆 …

![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

---

<div class="post-metadata">

**Author:** ![Num\_s](https://www.debian-fr.org/user_avatar/www.debian-fr.org/num_s/32/3834_2.png) [@Num\_s](https://www.debian-fr.org/u/Num_s)\
**Post date:** [Février 20, 2016, 9:24 UTC](https://www.debian-fr.org/t/mot-de-passe/24388/20 "2016-02-20T21:24:30Z")

</div>

`$ cat exemple-fran.b-md5.sh 
#!/bin/sh
HASH="63ae418041958618dbc9c66cf47377ce"
read MOTDEPASSE
if [`echo -n $MOTDEPASSE | md5sum | cut -f1 -d" "` = $HASH] ; then
echo Yes man
else
echo go to hell
fi
`

`./exemple-fran.b-md5.sh
blop
Yes man
` ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green") ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green") ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green") … trop fort le Num’s!!! ![:smt005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif) …

(oui bon… 😒 :  
[google.fr/#hl=fr&source=hp&q … bdbeb3d18b](http://www.google.fr/#hl=fr&source=hp&q=63ae418041958618dbc9c66cf47377ce&btnG=Recherche+Google&meta=&aq=f&oq=&fp=26f21cbdbeb3d18b)  
[md5.wintvs.com/blop](http://md5.wintvs.com/blop)  
😒 )

![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

[Page suivante](https://www.debian-fr.org/t/mot-de-passe/24388.md?page=2)
