GenPassw – Générez facilement vos mots de passe sous GNU/Linux

genpassw-2

S’il y’a une chose que l’on néglige (trop) souvent, c’est les mots de passe que nous sommes amenés à utiliser pour sécuriser l’accès à certains de nos fichiers ou à des services en ligne que nous utilisons. Tout les utilisateurs ne connaîssent pas forcément les standards de sécurité, ou choisissent  des mots de passe trop simples par manque d’inspiration ou pour mieux les retenir.

Pour rappel un bon mot de passe doit contenir au moins 8 caractères composés si possible de lettres minuscules/majuscules, de chiffres et de ponctuation. Si vous manquez d’inspiration, il existe des petits scripts sympas qui peuvent vous aider à générer des mots de passe solides, respectant les critères de sécurité. GenPassw est l’un d’entre eux et nous allons voir tout de suite comment l’utiliser.

Au niveau de sa structure GnePassw est très simple, il ne pèse que 183 octets (185 après modification) et ne contient que 7 lignes de codes. Si vous touchez un peu à Bash vous pouvez même en faire un de ce type très facilement.

Voilà à quoi il ressemble :

#!/bin/sh
# genpasswd [number of characters]

if [ -z « $1 » ]; then
echo « usage: genpasswd [number of characters] »
exit 1
fi

tr -dc A-Za-z0-9_ < /dev/urandom | head -c $1 | xargs

Pour l’utiliser rien de plus simple.

Il suffit de copier/coller les lignes ci-dessus dans un fichier texte que vous nommerez genpassw, ou de télécharger cette version via le lien que je vous ai mis à disposition (j’y ai ajouté quelques caractères mais vous verrez ça plus bas).

Rendez-vous ensuite dans le répertoire ou il se trouve à l’aide de votre terminal et de la commande « cd », avant de lui octroyer les droits d’exécution à l’aide de la commande suivante.

chmod +x genpassw

Une fois que c’est fait il ne reste plus qu’à générer votre mot de passe en entrant la commande suivante :

./genpassw 20

Ce qui doit vous renvoyer un résultat de ce style :

lavachelibre@lavachelibre:~/Téléchargements$ !!
./genpassw 20
4ky4Imp8pVcTwh9TE_QW
lavachelibre@lavachelibre:~/Téléchargements$

./genpassw lance la commande de base, qui doit impérativement être suive d’une valeur indiquant le nombre de caractères que votre mot de passe doit contenir (ici 20), sinon ça ne fonctionne pas.

Le truc que j’ai trouvé un peu dommage dans cette version c’est que le seul caractère spécial qui est généré est le tiret bas « _ ».

Nous allons donc bidouiller vite fait cette ligne « tr -dc A-Za-z0-9_ < /dev/urandom | head -c $1 | xargs » et faire un truc du genre « tr -dc A-Za-z0-9_,-?< /dev/urandom | head -c $1 | xargs » pour en ajouter d’autres et générer des mots de passe encore plus costauds.

Voici ce que cela peut donner après l’ajout d’autres caractères :

lavachelibre@lavachelibre:~/Téléchargements$ !!
./genpassw 20
FL5-xckShxt6;9B?ZwgQ
lavachelibre@lavachelibre:~/Téléchargements$

C’est quand même mieux pour des vieux paranos comme nous, non ?!!

Important!

Nous avons donc ajouté les caractères suivants « ,-? » mais attention!!! Ne mettez pas n’importe quel caractère au risque d’avoir des problèmes avec l’encodage l’UTF8 (si vous mettez des accents par exemple), ou de bloquer le script qui pourrait éventuellement tenter à tort d’interpréter certains caractères comme étant des instructions.

Vous pouvez également intégrer GenPassw à votre système en le déplaçant dans le répertoire /usr/bin/ à l’aide de la commande suivante :

sudo mv genpassw /usr/local/bin/genpassw

Si vous voulez le supprimer plus tard entrez cette commande :

sudo rm /usr/local/bin/genpassw

Vous voilà maintenant et grâce à quelques lignes seulement, en mesure de générer facilement des mots de passe aléatoires et solides. Vous n’avez plus d’excuses pour bien faire!

Alors c’est un tout petit tuto plutôt pouilleux (drôle de phrase), mais vous aurez appris à attribuer les droits d’exécution à un script (chmod), vu que le(s) modifier peut s’avérer très simple et vu qu’on ne peut pas utiliser n’importe quel caractères dans un script. Vous aurez également et surtout remarqué qu’avec quelques lignes seulement il est possible de faire des trucs très utiles.

Conclusion, GNU/Linux et Bash c’est de l’or en barre!

Amusez-vous bien.

source


9 Responses

  1. Jean Fred De La hogue 2 septembre 2013 / 17 h 24 min

    Merci pour ce script !
    Ça va beaucoup me servir !!

  2. wilfried18 31 août 2013 / 1 h 52 min

    A quand une interface pour les mémorisé (je sais c’est le mal) mais avec ma mémoire ….

    • noireaude 31 août 2013 / 13 h 06 min

      Elle existe déjà dans des solutions comme openID par exemple. Sinon un petit fichier texte zipé avec un mot de passe fait très bien l’affaire ;)

  3. cd - 28 août 2013 / 18 h 08 min

    Ou utiliser mkpasswd, qui je crois, est installé par défaut sur les systèmes Ubuntu !

    • noireaude 31 août 2013 / 13 h 04 min

      Je ne connaissais pas ;)

  4. jissouille 28 août 2013 / 17 h 33 min

    Amusant. Voir apg (advanced password generator) qui fournit notamment des mdp « prononçables » plus faciles à mémoriser et des tas d’options utiles.
    Sinon, dans les caractères spéciaux, n’oubliez pas : ! / & # ( ) { } [ ] | @ = + – *
    Si vous devez « échapper » vos mots de passe, c’est sûrement que vous les mettez à un endroit où ils ne devraient pas se trouver (dans une ligne de commande par exemple, facile à retrouver dans un .bash_history)
    Enfin préférez /usr/local/bin à /usr/bin pour mettre des outils qui ne font pas partie de la distribution.

    • noireaude 28 août 2013 / 17 h 40 min

      Je n’ai pas parlé des échappement en effet. Bien vu pour /local/ je vais corriger. Merci ;)

  5. Mangue 28 août 2013 / 15 h 25 min

    Merci !

  6. Wolfie 28 août 2013 / 9 h 54 min

    Chouette, et hop sur la liste « à tester » :p Merci de ton billet.

Comments are closed.