Come posso proteggere con password un file .tgz con tar in Unix?


47

Sto usando il comando tar Unix come segue per tarare una directory e i suoi file:

tar cvzf fileToTar.tgz directoryToTar

Esiste un modo per proteggere con password il file .tgz? Ho creato file ZIP protetti da password su Windows, quindi suppongo che Unix abbia le stesse capacità. Qualche idea?

Risposte:


40

Usa crypto gpgsul file.

Esempi semplici:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename


2
questo non ha senso, dov'è la password?
Alexander Mills

3
@AlexanderMills La maggior parte degli strumenti di accettazione della password richiede all'utente dal terminale anziché un argomento della riga di comando, in modo da impedire la visualizzazione della password nella cronologia.
Daffy,

37

Puoi usare il comando:

zip -P password file.zip file

O meglio:

zip -e file.zip file

man zip

Zip sa abbastanza per cancellare la sezione password della riga di comando nel momento in cui viene eseguita in modo che non venga visualizzata (o visualizzata solo per millesimi di secondo) in un ps? È leggibile dall'uomo.
tgm1024

17

Né il tarformato né il gzformato hanno il supporto integrato per i file protetti da password.

Il zipformato Windows combina diverse funzionalità: compressione (ad esempio gzip), archiviazione di più file in uno (ad esempio tar), crittografia (ad esempio gnupg) e probabilmente altri. Unix tende ad avere singoli strumenti, ognuno dei quali fa bene una cosa e ti consente di combinarli.

L'equivalente Unix di un .zipfile protetto da password verrebbe probabilmente chiamato qualcosa di simile foo.tar.gz.gpgo foo.tgz.gpg.

E ci sono open-source zipe unzipstrumenti per Unix, anche se potrebbero non fornire tutte le funzionalità delle versioni di Windows (sono abbastanza sicuro che il .zipxformato più recente non sia supportato).


13

Puoi usare gpg (= GnuPG):

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

Questo ti chiederà una passphrase.

Per decrittografare il file in un secondo momento, basta fare un:

gpg fileToTar.tgz.gpg

Questo ti chiederà, ancora una volta, la passphrase.


Nota: -cè l'abbreviazione di --symmetric, ad esempio, utilizzare la cifra simmetrica predefinita, il che significa che la stessa passphrase viene utilizzata sia per la crittografia che per la decrittografia. (A differenza dell'asimmetrico, che coinvolge chiavi pubbliche e chiavi private.)
Evgeni Sergeev

8

Puoi usare ccrypt .

Le cose possono essere crittografate da una pipe:

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

O sul posto:

ccrypt backup.tar.bz2

Per l'automazione, è possibile salvare una passkey in un file e utilizzare questa passkey per crittografare:

ccrypt -k ~/.passkey backup.tar.bz2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.