Как защитить паролем файл .tgz с помощью tar в Unix?

47

Я использую команду tar Unix, как указано ниже, для того, чтобы скопировать каталог и его файлы:

tar cvzf fileToTar.tgz directoryToTar

Есть ли способ защитить паролем файл .tgz? Я создал защищенные паролем ZIP-файлы в Windows, поэтому я предполагаю, что Unix имеет те же возможности. Любые идеи?

c12
источник

Ответы:

40

Используйте cryptили gpgна файл.

Простые примеры:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename

Кристофер Нейлан
источник
2
это не имеет смысла, где пароль?
Александр Миллс
3
@AlexanderMills Большинство инструментов, принимающих пароли, запрашивают его у пользователя из терминала, а не из аргумента командной строки, чтобы предотвратить появление пароля в истории.
Даффи
37

Вы можете использовать команду:

zip -P password file.zip file

Или лучше:

zip -e file.zip file

man zip
Panta
источник
Достаточно ли zip для очистки раздела паролей командной строки в тот момент, когда он запускается, чтобы он не отображался (или показывался только для миллисекунд) в ps? Это читается человеком.
tgm1024
17

Ни tarформат, ни gzформат не имеют встроенной поддержки файлов, защищенных паролем.

Формат Windows zipсочетает в себе несколько различных функций: сжатие (например, gzip), архивирование нескольких файлов в один (например, tar), шифрование (например, gnupg) и, возможно, другие. Unix, как правило, имеет отдельные инструменты, каждый из которых хорошо выполняет одну задачу и позволяет вам комбинировать их.

Unix-эквивалент .zipфайла, защищенного паролем , вероятно, будет называться что-то вроде foo.tar.gz.gpgили foo.tgz.gpg.

А для Unix есть инструменты с открытым исходным кодом zipи unzipинструменты, хотя они могут не обеспечивать все возможности версий Windows (я уверен, что новый .zipxформат не поддерживается).

Кит Томпсон
источник
13

Вы можете использовать gpg (= GnuPG):

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

Это предложит вам ввести пароль.

Чтобы расшифровать файл позже, просто выполните:

gpg fileToTar.tgz.gpg

Это снова подскажет вам пароль.

thiagowfx
источник
Примечание: -cсокращенно --symmetric, т.е. использовать симметричный шифр по умолчанию, что означает, что одна и та же фраза-пароль используется как для шифрования, так и для дешифрования. (В отличие от асимметричного, который включает открытые ключи и закрытые ключи.)
Евгений Сергеев
8

Вы можете использовать ccrypt .

Вещи могут быть зашифрованы с помощью канала:

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

Или на месте:

ccrypt backup.tar.bz2

Для автоматизации вы можете сохранить пароль в файл и использовать этот ключ для шифрования:

ccrypt -k ~/.passkey backup.tar.bz2
c4baf058
источник