Есть несколько вариантов, но все они могут оставить вам расшифрованный файл на диске, ожидая, что его можно будет восстановить позже. У Shred даже могут быть проблемы с безопасным удалением файла (если есть журнал / журнал, избыточные записи / RAID, временные кэши, сжатые файловые системы), а также SSD может также поменять секторы без вывода сообщений. Даже использование файловой системы tmpfs
может быть записано для подкачки. И программа редактирования, которую вы используете, может оставить еще больше временных файлов / файлов кэша. Если вся ваша файловая система и своп зашифрованы, это очень помогает, но тогда вам действительно нужно больше шифрования?
Если вы просто сохраняете основной текст (например, пароли), я бы предложил использовать специальную программу, такую как KeePass (X/XC), LastPass и т.д. Или другой метод шифрования, который шифрует файлы, такие как eCryptfs, EncFS или который шифрует устройства, такие как LUKS, или преемник TrueCrypt.
Но только с GPG, вы можете использовать один из этих вариантов
--passphrase-fd n
Прочитайте фразу-пароль из файлового дескриптора n. Только первая строка будет прочитана из файлового дескриптора n. Если вы используете 0 для n, фраза-пароль будет считана из STDIN. Это можно использовать только в том случае, если указана только одна фраза-пароль.
Обратите внимание, что эта фраза-пароль используется только в том случае, если также была указана опция --batch. Это отличается от GnuPG версии 1.x.
--passphrase-file file
Прочитайте фразу-пароль из file
. Только первая строка будет читаться из file
файл. Это можно использовать только в том случае, если указана только одна фраза-пароль.
Очевидно, что парольная фраза, хранящаяся в файле, имеет сомнительную безопасность, если другие пользователи могут читать этот файл. Не используйте эту опцию, если вы можете избежать этого. Обратите внимание, что эта фраза-пароль используется только в том случае, если также была указана опция --batch. Это отличается от GnuPG версии 1.x.
--passphrase string
Используйте строку в качестве пароля. Это можно использовать только в том случае, если указана только одна фраза-пароль. Очевидно, это очень сомнительная безопасность в многопользовательской системе. Не используйте эту опцию, если вы можете избежать этого. Обратите внимание, что эта фраза-пароль используется только в том случае, если также была указана опция --batch. Это отличается от GnuPG версии 1.x.
Для вышеупомянутых опций вам, вероятно, понадобится или --pinentry-mode loopback
(позволяет вводить новую информацию, например, новое имя файла, если есть конфликт) или --batch
противном случае gpg просто проигнорирует опции парольной фразы и все еще спросит агента для ключевой фразы (ошибка IMO).
Это также может быть полезно:
--passphrase-repeat n
Укажите, сколько раз gpg будет запрашивать новую фразу-пароль.
Это полезно для запоминания ключевой фразы. По умолчанию 1 повторение.
Вы можете ввести пароль только один раз и read
/ сохранить его в переменной shell / bash (скажем, $password
), вызвав его позже с помощью --passphrase="$password"
. Что-то вроде
until gpg --pinentry-mode loopback --passphrase="$password" --output $file_to_edit $ecrypted_file;
do read -r password;
done
#Got out of the loop with a correct password, now
echo "Some edit" >> $file_to_edit
gpg --pinentry-mode loopback --passphrase="$password" --output $ecrypted_file --yes --symmetric $file_to_edit
(- --yes
чтобы переписать)