Это зависит от. Каковы ваши требования? Как вы оцениваете «лучшее»? Какие инструменты у вас есть в наличии? Рассматривали ли вы уже какие-либо другие варианты, которые могут быть полезны для упоминания?
Грег Хьюгилл
Не считал других. Это просто базовое шифрование, при котором кто-то не может прочитать содержимое файла, и желательно поддерживать хорошую степень сжатия.
user75027
1
Обычно ответом будет нет. Одна из основных философий Unix - «делай одно и делай это хорошо». tar -zэто небольшое исключение, потому что это очень распространенная практика.
Патрик
1
Более новые tarверсии поддерживают сжатие xz (флаг -J), степень сжатия которого обычно лучше, чем более традиционное сжатие gzip ( -z) или bzip2 ( -j).
Джофель
Я заметил, что xzэто отлично. Я помню, как я загружал ядро, и оно было упаковано примерно в 1/7 от его первоначального размера. Я думаю, что я буду tar cvJf out.tar.xz file1 [file2...]использовать gpg или openssl для шифрования. Я также заметил, что XZ очень быстро. Как добиться лучшего сжатия, чем bz2, и при этом быть быстрым?
user75027
Ответы:
24
tarэто обычный инструмент для связывания файлов. tarСама равнина не сжимает. Существуют отдельные инструменты, такие как gzip , bzip2 и xz (в порядке увеличения степени сжатия в типичных файлах), которые сжимают один файл. Многие tarреализации, включая GNU tar (нормальная реализация в Linux), могут автоматически сжиматься с опцией ( -zдля gzip, -jдля bzip2, -Jдля xz):
tar -cJf myarchive.tar.xz file1 file2 file3
Чтобы зашифровать файл, используйте gpg . Создайте ключ и свяжите его с вашим адресом электронной почты (идентификаторы ключей GPG / PGP обычно содержат адрес электронной почты, хотя это и необязательно). Зашифруйте свои файлы, указав адрес электронной почты в качестве получателя. Чтобы расшифровать файл, вам нужно будет ввести фразу-пароль, чтобы разблокировать ваш закрытый ключ.
GPG также позволяет зашифровать файл с помощью пароля. Это менее безопасно и менее гибко. Это менее гибко, потому что вам нужно указать пароль при шифровании (например, вы не можете делать резервные копии без присмотра). Это менее безопасно, потому что единственная защита - это пароль, тогда как шифрование на основе ключа разделяет защиту между паролем и ключом.
Не используйте opensslинструмент командной строки. Это витрина для библиотеки OpenSSL, не предназначенная для производственного использования. Хотя с ним можно кое-что сделать (в частности, у него есть все примитивы, необходимые для базового центра сертификации), его сложно использовать правильно, и в нем нет всего, что нужно для правильной работы. Где GPG дает вам велосипед, OpenSSL дает вам несколько металлических стержней различных размеров и пару резиновых камер (винты и насос не входят в комплект). Используйте GPG.
Я понимаю tar как упаковщик и методы сжатия. ключи gpg, однако, являются новыми для меня. Я не совсем понимаю, как его использовать, хотя у меня есть ключ. Я думаю. Я думаю, что у меня также есть ключи SSH.
user75027 15.07.14
Это то, что я искал, чтобы сжать и зашифровать с помощью одной команды (используя tarи gpgв трубе).
CGFoX
12
Вы можете использовать 7zip:
7z a -p -mhe=on stuff.7z MyStuff
^ ^ ^ ^ ^
| | | | `--- Files/directories to compress & encrypt.
| | | `--- Output filename
| | `--- Encrypt filenames
| `---- Use a password
`---- Add files to archive
tar -z
это небольшое исключение, потому что это очень распространенная практика.tar
версии поддерживают сжатие xz (флаг-J
), степень сжатия которого обычно лучше, чем более традиционное сжатие gzip (-z
) или bzip2 (-j
).xz
это отлично. Я помню, как я загружал ядро, и оно было упаковано примерно в 1/7 от его первоначального размера. Я думаю, что я будуtar cvJf out.tar.xz file1 [file2...]
использовать gpg или openssl для шифрования. Я также заметил, что XZ очень быстро. Как добиться лучшего сжатия, чем bz2, и при этом быть быстрым?Ответы:
tar
это обычный инструмент для связывания файлов.tar
Сама равнина не сжимает. Существуют отдельные инструменты, такие как gzip , bzip2 и xz (в порядке увеличения степени сжатия в типичных файлах), которые сжимают один файл. Многиеtar
реализации, включая GNU tar (нормальная реализация в Linux), могут автоматически сжиматься с опцией (-z
для gzip,-j
для bzip2,-J
для xz):Чтобы зашифровать файл, используйте gpg . Создайте ключ и свяжите его с вашим адресом электронной почты (идентификаторы ключей GPG / PGP обычно содержат адрес электронной почты, хотя это и необязательно). Зашифруйте свои файлы, указав адрес электронной почты в качестве получателя. Чтобы расшифровать файл, вам нужно будет ввести фразу-пароль, чтобы разблокировать ваш закрытый ключ.
GPG также позволяет зашифровать файл с помощью пароля. Это менее безопасно и менее гибко. Это менее гибко, потому что вам нужно указать пароль при шифровании (например, вы не можете делать резервные копии без присмотра). Это менее безопасно, потому что единственная защита - это пароль, тогда как шифрование на основе ключа разделяет защиту между паролем и ключом.
Не используйте
openssl
инструмент командной строки. Это витрина для библиотеки OpenSSL, не предназначенная для производственного использования. Хотя с ним можно кое-что сделать (в частности, у него есть все примитивы, необходимые для базового центра сертификации), его сложно использовать правильно, и в нем нет всего, что нужно для правильной работы. Где GPG дает вам велосипед, OpenSSL дает вам несколько металлических стержней различных размеров и пару резиновых камер (винты и насос не входят в комплект). Используйте GPG.источник
tar
иgpg
в трубе).Вы можете использовать 7zip:
Он попросит вас ввести пароль. По-видимому, он использует AES-256 для шифрования и SHA-256 пароля и счетчик, повторенный 512K раз для получения ключа.
Изменить : Это не шифрует имена файлов, так что выtar
все равно можете сначала все.Редактировать 2 : Добавлено
-mhe=on
.источник
7za
вы можете зашифровать имена файлов с-mhe=on
опцией.Таким образом, вы можете использовать 7zip шифрование имен файлов тоже:
источник