Как автоматически удалять исходные файлы после шифрования с помощью GPG?

Мне нужно использовать GPG в папке с большим количеством файлов и подпапок. Я могу использовать "найти" + " gpg " для этого, и я могу зашифровать все файлы, но моя проблема в том, что GPG не удаляет исходный файл после успешного шифрования.

каков наилучший и наиболее безопасный способ удалить исходный файл(Ы) после того, как GPG правильно его шифрует? Я не хочу удалять свои файлы преждевременно, и я не хочу удалять незашифрованные файлы (из-за ошибок, разрешений и т. д. проблем с работой GPG) неправильно.

спасибо

21
задан yarun can
17.11.2022 5:28 Количество просмотров материала 3541
Распечатать страницу

1 ответ

shred звучит как ваше оружие выбора, для безопасного удаления файлов, но см. ниже для ограничений файловой системы.

и если вы используете терминал, некоторые bash / sh скрипты могут быть полезны. Если вы хотите использовать одну строку для проверки ошибок? Как это, чтобы переместить файл, если он зашифрован правильно, и распечатать сообщение, если это не так?

gpg --encrypt <options> "$file" && mv "$file" todel-folder || echo "Error, $file did not encrypt"

или вы могли бы собрать многоканальный "в случае успеха" & "если не" предметы для входа, используя некоторые фигурные скобки:

gpg --encrypt <options> "$file" && {
  echo "gpg on $file successful" >> logfile
  mv "$file" todel-folder
  } || {
  echo "Error, $file did not encrypt" >> logfile
}

и после этого вы можете безопасно удалить/стереть/shred файлы todel-folder, или просто кромсать их немедленно, а не использовать mv:

gpg --encrypt <options> "$file" && {
    echo "gpg on $file successful" >> logfile
    shred "$file" && { 
        echo "shred on $file successful" >> logfile
        } ||  {
        echo "shred on $file successful" >> logfile
        }
    } || {
    echo "Error, $file did not encrypt" >> logfile
}

See man shred для некоторых опций и предупреждений:

shred - overwrite a file to hide its contents, and optionally delete it

внимание: обратите внимание, что shred опирается на очень важное предположение: что файловая система перезаписывает данные на месте. это традиционный способ делать вещи, но многие современные проекты файловой системы не удовлетворяют этому предположению. Ниже приводятся примеры файловые системы, в которых shred не эффективен или не гарантирован чтобы быть эффективным во всех режимах файловой системы:

  • лог-структурированные или журналируемые файловые системы, такие как поставляемые с AIX и Solaris (и JFS, ReiserFS, XFS, Ext3 и др.)

  • файловые системы, которые записывают избыточные данные и некоторые ошибки записи, например на основе RAID файловые системы

  • файловые системы, создающие моментальные снимки, такие как NFS-сервера

  • файловые системы, кэширующие во временных расположениях, например NFS версия 3 клиенты

  • сжатые файловые системы

в случае с ext3, что данное положение применяется (и shred таким образом лимитированной эффективности) только внутри данные=журнал режим, в котором данные журналов помимо только метаданные. В обоих случаях data=ordered (по умолчанию) и data=режимы обратной записи, shred работает как обычно. Ведение журнала Ext3 режимы могут быть изменены путем добавления опции data=something к параметры монтирования для конкретной файловой системы в

файл / etc / fstab, как описано на странице man mount (Man mount).

3
отвечен Xen2050 2022-11-18 13:16

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

command-line
encryption
gnupg
linux
security
Вверх