Як запобігти створенню gpg у .gnupg директорії в домашньому каталозі користувача


14

Я намагаюся запустити використовувати gpgінструмент для шифрування та дешифрування файлів, і я хотів би знати, чи можливо запустити цей інструмент без зміни глобального стану користувача. Зокрема, gpgвперше запуск даного користувача призведе до створення .gnupgкаталогу та інших артефактів у домашньому каталозі користувача.

Я мав певний успіх у виділенні роботи цієї команди від відкритого та секретного брелока користувача (див. Мій дорогоцінний камінь Ruby за адресою https://github.com/rcook/rgpg, як це зробити), і це останнє, що залишилося поведінку gpgя хотів би запобігти.

Відповіді:


11

Ви можете передавати йому --homedirаргумент або використовувати GNUPGHOMEзмінну середовища, щоб він міг використовувати інший каталог .gnupg. Якщо це сценарій, ви можете створити тимчасовий каталог:

GNUPGHOME=$(mktemp -d $HOME/.gnupgXXXXXX)
export GNUPGHOME

А потім почистіть, коли закінчите:

gpg ...
rm -rfi $GNUPGHOME

4

"Як запобігти створенню gpg у каталозі .gnupg"

У мене була та сама проблема, що описана в заголовку питання під час перевірки деяких ключових відбитків пальців на встановленому для читання диску.

Я використовував рішення: додавання --no-optionsпрапора до gpgкоманди:

gpg --no-options  \
    --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Відповідно до інструкції :

--no-options

Ярлик для --options / dev / null. Ця опція виявляється до спроби відкрити файл опцій. Використання цієї опції також запобіжить створенню ~ / .gnupg homedir.

Якщо gpg все ще друкує помилки, які він не може прочитати публічні та секретні брелоки користувача, перенаправлення 2>/dev/nullпридушить їх. Однак зауважте, що код виходу команди в цьому випадку може бути не нульовим, навіть якщо ключова інформація надрукована.


2
Я не вірю, що це працює. Це заважає gpg намагатися читати файл параметрів з домашнього каталогу, але не заважає йому намагатися писати в нього. Він все ще помиляється, якщо gpg не має дозволу писати в ГОЛОВНУ. gpg: keyblock resource /home/u/.gnupg/pubring.gpg ': помилка відкриття файлу gpg: не вдається створити/home/u/.gnupg/random_seed': No such file or directory
voxobscuro

1
@voxobscuro: документація правильна; помилки можна ігнорувати, команда все ж працює. Я оновлю цю відповідь.
ккм

1

--no-options не працює. вона все ще створює папку .gnupg. Однак ви можете просто зробити цей трюк, щоб він працював - Вкажіть GNUPGHOME на "/ dev / null"

export GNUPGHOME="/dev/null"

Потім запустіть будь-яку команду gpg, вона взагалі не створить .gnupg.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.