Jak zabezpieczyć hasłem plik .tgz z tar w Uniksie?

47

Korzystam z komendy tar systemu Unix w następujący sposób, aby spakować katalog i jego pliki:

tar cvzf fileToTar.tgz directoryToTar

Czy istnieje sposób zabezpieczenia hasłem pliku .tgz? Utworzyłem chronione hasłem pliki ZIP w systemie Windows, więc zakładam, że Unix ma takie same możliwości. Jakieś pomysły?

c12
źródło

Odpowiedzi:

40

Użyj cryptlub gpgna pliku.

Proste przykłady:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename

Christopher Neylan
źródło
2
to nie ma sensu, gdzie jest hasło?
Alexander Mills
3
@AlexanderMills Większość narzędzi akceptujących hasło pyta użytkownika o to z terminala zamiast z argumentu wiersza poleceń, aby zapobiec wyświetlaniu hasła w historii.
Daffy
37

Możesz użyć polecenia:

zip -P password file.zip file

Albo lepiej:

zip -e file.zip file

man zip
Panta
źródło
Czy zip wie wystarczająco dużo, aby wyszorować sekcję hasła wiersza polecenia w momencie jego uruchomienia, aby się nie wyświetlał (lub wyświetlał się tylko przez kilka milisekund) w ps? To czytelne dla ludzi.
tgm1024
17

Ani tarformat, ani format nie gzma wbudowanej obsługi plików chronionych hasłem.

zipFormat Windows łączy kilka różnych funkcji: kompresję (np. Gzip), archiwizację wielu plików w jednym (np. Tar), szyfrowanie (np. Gnupg) i prawdopodobnie inne. Unix ma zwykle indywidualne narzędzia, z których każde dobrze robi jedną rzecz i pozwala je łączyć.

Uniksowy odpowiednik .zippliku chronionego hasłem prawdopodobnie nazywałby się jak foo.tar.gz.gpglub foo.tgz.gpg.

Istnieją także narzędzia typu open source zipi unzipnarzędzia dla systemu Unix, chociaż mogą nie zapewniać wszystkich możliwości wersji systemu Windows (jestem całkiem pewien, że nowszy .zipxformat nie jest obsługiwany).

Keith Thompson
źródło
12

Możesz użyć gpg (= GnuPG):

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

Pojawi się monit o podanie hasła.

Aby później odszyfrować plik, po prostu wykonaj:

gpg fileToTar.tgz.gpg

Ponownie wyświetli się monit o podanie hasła.

thiagowfx
źródło
Uwaga: -cjest skrótem od --symmetric, tj. Użyj domyślnego szyfru symetrycznego, co oznacza, że ​​to samo hasło jest używane zarówno do szyfrowania, jak i deszyfrowania. (W przeciwieństwie do asymetrycznego, który obejmuje klucze publiczne i klucze prywatne.)
Evgeni Sergeev
8

Możesz użyć ccrypt .

Rzeczy mogą być szyfrowane za pomocą potoku:

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

Lub na miejscu:

ccrypt backup.tar.bz2

Aby zautomatyzować, możesz zapisać klucz do pliku i użyć tego klucza do zaszyfrowania:

ccrypt -k ~/.passkey backup.tar.bz2
c4baf058
źródło