Skip to content

Instantly share code, notes, and snippets.

@YannBouyeron
Last active April 8, 2022 09:56
Show Gist options
  • Save YannBouyeron/5c9453c852cb8f7d9d3b1d0d177e580f to your computer and use it in GitHub Desktop.
Save YannBouyeron/5c9453c852cb8f7d9d3b1d0d177e580f to your computer and use it in GitHub Desktop.
Faire un coffre fort numérique avec tar et gpg

Faire un coffre fort numérique avec tar et gpg.

Créer un fichier "mon_coffre".

Dans cet exemple je vais créer mon coffre dans mon répertoire /home/pi/Documents

pi@lebowski:~/Documents $ mkdir mon_coffre

Une fois le coffre créé, on peut y mettre ce que l'on souhaite (codes de lancement des missiles nucléaires nord-coréens, recette de la tarte aux pommes de grand mère, sa propre adresse si on est atteint d'Alzheimer...)

Fermer le coffre:

On va créer une archive tar que l'on va compresser au format gzip et chiffrer avec gpg:

pi@lebowski:~/Documents $ tar -czp mon_coffre | gpg -c -o .libsecur.conf && rm -r mon_coffre/

On vous demandera alors de rentrer et de confirmer le mot de passe de votre coffre.

Explication de la commande: on crée une archive tar (-c) compressée (z) conservant les permissions (p). La sortie de cette commande (qui devrait être un fichier en .tgz) est redirigée vers l'entrée de la commande suivante grace à la pipe | . La commande gpg reçoit donc en entrée un fichier.tgz (qui n'est pas réellement créé); ce fichier est chiffré (-c) par chiffrage symétrique (par default c'est du CAST5, mais il est possible de choisir un autre algorithme de chiffrage, et même d'utiliser sa clé publique pour faire du chiffrage asymétrique). La sortie de cette commande est imposée par le output (-o) vers un fichier caché au nom peu évocateur : .libsecur.conf . On poursuit (&&) ensuite avec une autre commande permettant de supprimer le coffre ouvert.

La même commande avec l'algorithme aes256:

pi@lebowski:~/Documents $ tar -czp mon_coffre | gpg -c --cipher-algo aes256 -o .libsecur.conf && rm -r mon_coffre/

Pour voir votre .libsecur.conf il suffit de faire apparaître les fichiers cachés du répertoire /home/pi/Documents

pi@lebowski:~/Documents $ ls -al

Ouvrir le coffre:

Pour ouvrir le coffre:

pi@lebowski:~/Documents $ gpg -d .libsecur.conf | tar -zx && rm .libsecur.conf

Explication de la commande: On commence par déchiffrer l'archive tar compréssée .libsecur.conf avec l'option (-d) qui signifie decrypt et dont l'output est la console. La pipe | récupère la sortie de la commande précédente (du coup on ne voit pas la sortie de gpg dans la console), et s'en sert comme d'une entrée pour la commande suivante. La commande tar récupère donc la sortie de la commande gpg, et les options (-zx) permettent de décompresser (z) et d'extraire (x) le contenu de l'archive. On poursuit (&&) par une commande permettant de supprimer le coffre férmé (pour éviter d'avoir un doublon lorsqu'on voudra refermer le coffre). On obtient alors notre coffre (mon_coffre) qui est ouvert dans le répertoire /home/pi/Documents.

Une fois le coffre ouvert, on peut bien entendu modifier son contenu.

Automatiser ces commandes en créant des alias permanents.

Il faut pour cela éditer (avec nano, ou vi , ou vim ou emac) le fichier .bashrc se trouvant dans votre dossier personnel (si je reprends mon exemple , c'est dans /home/pi), en ajoutant les lignes suivantes:

# some more aliases

alias securclose="cd /home/pi/Documents/ && tar -czp mon_ coffre |gpg -c -o .libsecur.conf && rm -r mon_ coffre"
alias securopen="cd /home/pi/Documents/ && gpg -d .libsecur.conf |tar -xz && rm .libsecur.conf"   

J'ai rajouté la commande cd /home/pi/Documents (à adapter) de manière à pouvoir exécuter l'alias depuis n'importe quel répertoire.

Pensez, après avoir créé ces alias, à fermer votre terminal et à le rouvrir de manière à ce que ces alias soient pris en compte.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment