🗄️ Как создать сжатые зашифрованные архивы с помощью tar и gpg – Information Security Squad
🗄️ Как создать сжатые зашифрованные архивы с помощью tar и gpg

Есть много причин, по которым вы можете захотеть создать сжатые зашифрованные файловые архивы.

Вы можете создать зашифрованную резервную копию ваших личных файлов.

Другой возможный сценарий – что вы можете в частном порядке поделиться контентом с другом или коллегой через Интернет или через облачное хранилище.

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

Эти tarballs в значительной степени являются стандартным форматом для архивов в GNU / Linux, однако они не зашифрованы.

В упомянутых выше сценариях желательно выполнятьь шифрование для защиты ваших данных.

Здесь нам на помощь приходит gpg.

gpg – это очень универсальный криптографический инструмент, позволяющий шифровать файлы, шифровать электронную почту и проверять целостность подписанных файлов.

Как создать сжатый архив

Прежде чем обсуждать создание зашифрованных архивов, давайте сначала рассмотрим, как создавать сжатые архивы tar.

Предположим, что у вас есть каталог с именем folder, который вы хотите заархивировать, введите следующую команду:

$ tar -cvzf folder.tar.gz folder
Флаг -c используется для создания архива, -v используется для подробного вывода, чтобы у нас была визуальная обратная связь, которая позволяет нам знать, что это происходит, а -z используется для сжатия архива, чтобы его размер был меньше.
Чтобы распаковать и извлечь этот архив позже, вы должны ввести следующую команду.
$ tar -xvzf folder.tar.gz

флаг -x используется для извлечения архива, -v – для подробного извлечения, а -z – для распаковки архива.

🕺 Как архивировать файлы и папки в Linux [Совет для начинающих]

Как создать зашифрованный архив

Теперь, когда мы рассмотрели создание архива с помощью tar, давайте посмотрим, как создать зашифрованный архив, добавив к нему gpg.

Вы можете использовать шифрование на основе ключа, шифрование на основе пароля или их комбинацию.

Мы уже рассмотрели использование шифрования на основе ключа в статьях:

поэтому здесь мы рассмотрим шифрование на основе пароля.

Чтобы создать зашифрованный сжатый архив каталога с именем folder, введите следующую команду.

$ tar -cvzf - folder | gpg -c > folder.tar.gz.gpg
Все флаги tar такие же, как в нашем предыдущем примере.
Единственное отличие состоит в том, что вместо указания имени файла для нашего архива в команде tar мы указываем, чтобы мы могли передать вывод команды tar в gpg.
Затем мы продолжаем делать именно это, и флаг gpg‘s -c указывает, что мы хотим зашифровать файл симметричным шифром, используя кодовую фразу, как мы указали выше.
Наконец, мы перенаправляем вывод в файл с именем folder.tar.gz.gpg с помощью >.
После ввода этой команды вам будет предложено ввести парольную фразу, которую вы хотите использовать для шифрования данных.
Если вам не нравится такое поведение и вы предпочитаете указывать кодовую фразу в команде, вы можете добавить флаг –passphrase после -c, как показано ниже.
$ tar -cvzf - folder | gpg -c --passphrase yourpassword > folder.tar.gz.gpg

Чтобы позже расшифровать, распаковать и извлечь этот архив, вы должны ввести следующую команду.

$ gpg -d folder.tar.gz.gpg | tar -xvzf -
Флаг -d сообщает gpg, что мы хотим расшифровать содержимое файла folder.tar.gz.gpg.
Затем мы передаем это команде tar.
Флаг -x используется для извлечения архива, переданного из gpg, -v – для подробного извлечения, -z – для распаковки архива.

Как создать несколько отдельных зашифрованных архивов каталогов

В приведенных выше примерах предполагается, что мы хотим создать единый зашифрованный архив на основе одного каталога. Ч

то, если у нас есть каталог, заполненный несколькими подкаталогами, но мы хотим создать отдельный зашифрованный архив для каждого каталога?

Мы можем использовать цикл bash for.

Просто перейдите в каталог, содержащий подкаталоги, для которых вы хотите создать отдельные архивы, и введите следующую команду.

$ for i in * ; do tar -cvzf - "$i" | gpg -c --passphrase yourpassword > "$i".tar.gpg; done

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *