Есть много причин, по которым вы можете захотеть создать сжатые зашифрованные файловые архивы.
Вы можете создать зашифрованную резервную копию ваших личных файлов.
Другой возможный сценарий – что вы можете в частном порядке поделиться контентом с другом или коллегой через Интернет или через облачное хранилище.
Файлы tar.gz или сжатые архивы tar создаются с помощью команды tar.
Эти tarballs в значительной степени являются стандартным форматом для архивов в GNU / Linux, однако они не зашифрованы.
В упомянутых выше сценариях желательно выполнятьь шифрование для защиты ваших данных.
Здесь нам на помощь приходит gpg.
gpg – это очень универсальный криптографический инструмент, позволяющий шифровать файлы, шифровать электронную почту и проверять целостность подписанных файлов.
Как создать сжатый архив
Прежде чем обсуждать создание зашифрованных архивов, давайте сначала рассмотрим, как создавать сжатые архивы tar.
Предположим, что у вас есть каталог с именем folder, который вы хотите заархивировать, введите следующую команду:
$ tar -cvzf folder.tar.gz folder
$ tar -xvzf folder.tar.gz
флаг -x используется для извлечения архива, -v – для подробного извлечения, а -z – для распаковки архива.
🕺 Как архивировать файлы и папки в Linux [Совет для начинающих]
Как создать зашифрованный архив
Теперь, когда мы рассмотрели создание архива с помощью tar, давайте посмотрим, как создать зашифрованный архив, добавив к нему gpg.
Вы можете использовать шифрование на основе ключа, шифрование на основе пароля или их комбинацию.
Мы уже рассмотрели использование шифрования на основе ключа в статьях:
- Как зашифровать / расшифровать файл в Linux с помощью gpg (Kali Linux)
- 👭 Как генерировать ключи GPG на Linux
поэтому здесь мы рассмотрим шифрование на основе пароля.
Чтобы создать зашифрованный сжатый архив каталога с именем folder, введите следующую команду.
$ tar -cvzf - folder | gpg -c > folder.tar.gz.gpg
$ tar -cvzf - folder | gpg -c --passphrase yourpassword > folder.tar.gz.gpg
Чтобы позже расшифровать, распаковать и извлечь этот архив, вы должны ввести следующую команду.
$ gpg -d folder.tar.gz.gpg | tar -xvzf -
Как создать несколько отдельных зашифрованных архивов каталогов
В приведенных выше примерах предполагается, что мы хотим создать единый зашифрованный архив на основе одного каталога. Ч
то, если у нас есть каталог, заполненный несколькими подкаталогами, но мы хотим создать отдельный зашифрованный архив для каждого каталога?
Мы можем использовать цикл bash for.
Просто перейдите в каталог, содержащий подкаталоги, для которых вы хотите создать отдельные архивы, и введите следующую команду.
$ for i in * ; do tar -cvzf - "$i" | gpg -c --passphrase yourpassword > "$i".tar.gpg; done