Comment protéger par mot de passe un fichier .tgz avec tar sous Unix?


47

J'utilise la commande Unix tar comme suit pour archiver un répertoire et ses fichiers:

tar cvzf fileToTar.tgz directoryToTar

Existe-t-il un moyen de protéger le fichier .tgz avec un mot de passe? J'ai créé des fichiers ZIP protégés par mot de passe sous Windows, je suppose donc qu'Unix a les mêmes fonctionnalités. Des idées?

Réponses:


40

Utilisez cryptou gpgsur le fichier.

Exemples simples:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename


2
cela n'a aucun sens, où est le mot de passe?
Alexander Mills

3
@AlexanderMills La plupart des outils acceptant les mots de passe invitent l'utilisateur à le demander depuis le terminal plutôt que par un argument de ligne de commande, afin d'empêcher que le mot de passe n'apparaisse dans l'historique.
Daffy

37

Vous pouvez utiliser la commande:

zip -P password file.zip file

Ou mieux:

zip -e file.zip file

man zip

Est-ce que zip en sait suffisamment pour balayer la section mot de passe de la ligne de commande au moment où elle est exécutée afin qu'elle ne s'affiche pas (ou ne s'affiche que pendant des millicsonds) dans un ps? C'est lisible par l'homme.
tgm1024

17

Ni le tarformat ni le gzformat ne prennent en charge de manière intégrée les fichiers protégés par un mot de passe.

Le zipformat Windows combine différentes fonctionnalités: compression (par exemple, gzip), archivage de plusieurs fichiers en un seul (par exemple, tar), cryptage (par exemple, gnupg) et probablement d’autres. Unix a tendance à avoir des outils individuels, dont chacun fait une chose et vous permet de les combiner.

L'équivalent Unix d'un .zipfichier protégé par mot de passe s'appellera probablement quelque chose comme foo.tar.gz.gpgou foo.tgz.gpg.

Et il existe des outils open-source zipet des unzipoutils pour Unix, bien qu'ils n'offrent peut-être pas toutes les fonctionnalités des versions Windows (je suis à peu près sûr que le nouveau .zipxformat n'est pas pris en charge).


14

Vous pouvez utiliser gpg (= GnuPG):

gpg -o fileToTar.tgz.gpg --symmetric fileToTar.tgz

Cela vous demandera une phrase secrète.

Pour décrypter le fichier ultérieurement, procédez comme suit:

gpg fileToTar.tgz.gpg

Cela vous demandera, encore une fois, de saisir la phrase secrète.


1
Remarque: -cest l'abréviation de --symmetric, c'est-à-dire que vous utilisez le chiffrement symétrique par défaut, ce qui signifie que la même phrase secrète est utilisée à la fois pour le chiffrement et le déchiffrement. (Contrairement à l'asymétrique, qui implique des clés publiques et des clés privées.)
Evgeni Sergeev

8

Vous pouvez utiliser ccrypt .

Les choses peuvent être cryptées par un tube:

tar cvvjf - /path/to/files | ccrypt > backup.tar.bz2.cpt

Ou en place:

ccrypt backup.tar.bz2

Pour automatiser, vous pouvez enregistrer une clé de passe dans un fichier et utiliser cette clé de passe pour chiffrer:

ccrypt -k ~/.passkey backup.tar.bz2
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.