web-dev-qa-db-fra.com

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

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?

42
c12

Utilisez crypt ou gpg sur le fichier.

Exemples simples:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename

37
Christopher Neylan

Vous pouvez utiliser la commande:

Zip -P password file.Zip file

Ou mieux:

Zip -e file.Zip file

man Zip
32
Panta

Ni le format tar ni le format gz ne prennent en charge les fichiers protégés par mot de passe.

Le format Windows Zip combine plusieurs fonctionnalités différentes: compression (par exemple, gzip), archivage de plusieurs fichiers en un (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 fichier .Zip protégé par un mot de passe s'appellerait probablement quelque chose comme foo.tar.gz.gpg ou foo.tgz.gpg.

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

16
Keith Thompson

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 incitera, encore une fois, pour la phrase secrète.

12
thiagowfx

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
7
c4baf058