Зашифровать каталог с GnuPG?

Существует checkbashisms. На Debian это поставляется как часть инструментов специалиста по обслуживанию пакета.

Протестируйте свои сценарии под тире и шикарный. У обоих есть несколько конструкций неPOSIX, но если Ваш сценарий будет работать в обоих, то он, вероятно, будет работать в большинстве мест. (С протестом, что трудно протестировать типичные сценарии оболочки, поскольку они имеют тенденцию иметь много угловых случаев.)

Если Вы предназначаете, чтобы Ваши сценарии были портативными на встроенные платформы Linux, протестируйте их с BusyBox. Обратите внимание, что BusyBox может быть более или менее ограничен, в зависимости от того, как маленький встроенная система Вы хотите; довольно нормально иметь сценарии, которые полагаются на функцию, которую не имеют некоторые установки BusyBox.

Обратите внимание, что немобильность не прибывает из одной только оболочки, она также прибывает из внешних утилит. OpenBSD и Солярис склонны иметь утилиты с функциями POSIX и не намного больше, таким образом, они хороши для тестирования на мобильность.

Вы захотите обратиться к спецификации POSIX и другим ресурсам, упомянутым в этом потоке (особенно autoconf руководство); но это - документация, не помогает, используете ли Вы функцию случайно.

10
29.05.2016, 21:29
4 ответа

Почему нет tar файлы, которые будут зашифрованы и затем шифруют tarball?

11
27.01.2020, 20:01
  • 1
    я нашел, что это было решением. Это не гибко и требует большого количества ресурсов к tar и gpg дате. Спасибо за ответ! –  gladimdim 20.01.2011, 08:57
  • 2
    @gladimdim: благодарит принять, но что Вы подразумеваете "не под гибкой" и "партией ресурсов"? Или была ли опечатка? –  alex 20.01.2011, 13:59
  • 3
    "не гибкий" я подразумевал, что мне был нужен вручную каталог tar затем gpg он. У меня есть приблизительно 60 ГБ рисунков, которые являются теперь tarballed и gpged. Потребовалось приблизительно 2 часа и 4 параллельных окна терминала для ускорения этого процесса. Теперь я просто tarball и gpg каждый новый каталог с рисунками, которые я создаю. –  gladimdim 27.01.2011, 23:51
  • 4
    Гм, который кажется довольно разумным сроком для того размера данных. Вы ожидали выполнять его намного быстрее? Кто Вы план, когда Вам нужны те рисунки - decrypt/untar весь 60Gigs? –  alex 28.01.2011, 00:01

Я просто видел опцию --multifile на странице справочника:

Это изменяет определенные другие команды, чтобы принять несколько файлов для обработки на командной строке или читать из STDIN с каждым именем файла на отдельной строке. Это позволяет, чтобы много файлов были обработаны сразу. - много ‐ файл может в настоящее время использоваться наряду с - проверяют, - шифруют, и - дешифруют. Обратите внимание, что - многофайловый - проверяют, может не использоваться с отдельными подписями.

То, что Вы конкретно ищете, --encrypt-files и, снова страница справочника:

Идентичный - многофайловый - шифруют.

2
27.01.2020, 20:01
  • 1
    Спасибо, это работает хорошее за исключением того, что gpg не поддерживает - несколько вводят с - симметричная опция (я хочу зашифровать только пароль использования). –  gladimdim 20.01.2011, 08:56

Эй, я прочитал комментарии к ответу, который был помечен как исключенный; похоже, вы должны быть осведомлены о магии|(анонимных каналов )проверьте ответ, который я только что опубликовал на суперпользователь , и вы обнаружите, что tarи gpgмогут быть объединены вместе, так что ваши выходные данные сжимаются и шифруются перед выводом. Обратите внимание, что он по-прежнему будет использовать значительные системные ресурсы, поэтому проверьте страницы manдля команды nice, чтобы ограничить способность команд потреблять только определенный процент ресурсов. Кроме того, пока я в настроении предложить темы, которые могут облегчить вашу жизнь в командной строке в целом; просмотрите файловые дескрипторы и именованные каналы для передачи данных.

Если вы хотите увидеть, какую магию можно выполнить, когда вы понимаете вышеперечисленные темы, проверьте журналы сборки Travis -CI и соответствующие сценарии для решений, связанных с автоматизацией GnuPG по команде линия.

----Обновления

В соответствии с запросом пример работы с каталогами можно найти в ранее упомянутом скрипте в строке 680 , а более общий пример будет...

#!/usr/bin/env bash
dir_path="${1:?${0##*/} needs a directory path as the first argument}"
default_gpg_email="your-email@host.domain"
gpg_email="${2:-$default_gpg_email}"
_dir_name="${dir_path##*/}"
_dir_name="${_dir_name%/*}"
Var_star_date="$(date -u +%s)"

if [ -d "${dir_path}" ]; then
    tar -cz - "${dir_path}" | gpg --always-trust --armor --batch --no-tty --encrypt --recipient ${gpg_email} > /tmp/${Var_star_date}_${_dir_name}.tgz.gpg"
else
    echo "${0##*/} operates on directories"
    exit 1
fi

... который может работать с script-name.sh /path/to/dirили script-name.sh /path/to/dir new-email@host.domainи должен выводить в каталог /tmpфайл<current-date>_<top-dir-name>.tgz.gpg

2
27.01.2020, 20:01

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

найти. -имя " *.csv" -exec gpg --шифр -алгоритм AES256 --симметричный --парольная фраза -файл.парольная фраза --пакет --да {} ;

0
21.03.2021, 01:19

Теги

Похожие вопросы