Bagaimana cara melindungi kata sandi file .tgz dengan tar di Unix?

47

Saya menggunakan perintah tar Unix sebagai berikut untuk membuat direktori dan file-nya:

tar cvzf fileToTar.tgz directoryToTar

Apakah ada cara untuk melindungi file .tgz dengan kata sandi? Saya telah membuat file ZIP yang dilindungi kata sandi pada Windows sehingga saya akan menganggap Unix memiliki kemampuan yang sama. Ada ide?

c12
sumber

Jawaban:

40

Gunakan cryptatau gpgpada file.

Contoh sederhana:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename

Christopher Neylan
sumber
2
ini tidak masuk akal, di mana kata sandinya?
Alexander Mills
3
@AlexanderMills Sebagian besar alat penerima kata sandi meminta pengguna untuk itu dari terminal daripada argumen baris perintah, untuk mencegah kata sandi muncul dalam riwayat.
Daffy
37

Anda dapat menggunakan perintah:

zip -P password file.zip file

Atau lebih baik:

zip -e file.zip file

man zip
Panta
sumber
Apakah zip cukup tahu untuk menggosok bagian kata sandi dari baris perintah saat dijalankan sehingga tidak muncul (atau hanya muncul selama milikon) dalam ps? Itu bisa dibaca manusia.
tgm1024
17

Baik tarformat maupun formatnya tidak gzmemiliki dukungan bawaan untuk file yang dilindungi kata sandi.

zipFormat Windows menggabungkan beberapa fungsi yang berbeda: kompresi (misalnya gzip), pengarsipan banyak file menjadi satu (misalnya tar), enkripsi (misalnya gnupg), dan mungkin yang lain. Unix cenderung memiliki alat individual, yang masing-masing melakukan satu hal dengan baik, dan memungkinkan Anda menggabungkannya.

Setara Unix dari .zipfile yang dilindungi kata sandi mungkin akan disebut sesuatu seperti foo.tar.gz.gpgatau foo.tgz.gpg.

Dan ada open-source zipdan unzipalat untuk Unix, meskipun mereka mungkin tidak menyediakan semua kemampuan versi Windows (saya cukup yakin .zipxformat yang lebih baru tidak didukung).

Keith Thompson
sumber
13

Anda dapat menggunakan gpg (= GnuPG):

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

Ini akan meminta Anda untuk frasa sandi.

Untuk mendekripsi file nanti, lakukan saja:

gpg fileToTar.tgz.gpg

Ini akan meminta Anda, sekali lagi, untuk frasa sandi.

thiagowfx
sumber
Catatan: -ckependekan dari --symmetric, yaitu, gunakan cipher simetris default, yang berarti bahwa frasa sandi yang sama digunakan untuk enkripsi dan dekripsi. (Berbeda dengan asimetris, yang melibatkan kunci publik dan kunci pribadi.)
Evgeni Sergeev
8

Anda dapat menggunakan ccrypt .

Hal-hal yang dapat dienkripsi melalui pipa:

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

Atau di tempat:

ccrypt backup.tar.bz2

Untuk mengotomatisasi, Anda dapat menyimpan kunci sandi ke dalam file dan menggunakan kunci sandi ini untuk mengenkripsi:

ccrypt -k ~/.passkey backup.tar.bz2
c4baf058
sumber