Config
Файлы конфигурации
Существует несколько файлов конфигурации для управления определенными аспектами работы gpg
. Если не указано иное, они ожидаются в текущем домашнем каталоге (см. опцию --homedir
).
gpg.conf
Это стандартный файл конфигурации, читаемый gpg
при запуске. Он может содержать любые допустимые длинные опции; начальные два дефиса указывать не нужно, и опцию нельзя сокращать. Это имя по умолчанию можно изменить в командной строке (см. опцию gpg --options
). Вам следует создавать резервные копии этого файла.
common.conf
Это необязательный файл конфигурации, читаемый gpg
при запуске. Он может содержать опции, относящиеся ко всем компонентам GnuPG. В настоящее время его основное использование — для опции "use-keyboxd"
. Если домашний каталог по умолчанию ~/.gnupg
не существует, GnuPG создает этот каталог и файл common.conf
с "use-keyboxd"
.
Примечание: В крупных системах полезно размещать предопределенные файлы в каталоге
/usr/local/etc/skel/.gnupg
, чтобы новые пользователи начинали работу с готовой конфигурацией. Для существующих пользователей предоставляется небольшой вспомогательный скрипт для создания этих файлов (см.addgnupghome
).
Для внутренних целей gpg
создает и поддерживает несколько других файлов; все они находятся в текущем домашнем каталоге (см. опцию --homedir
). Только программа gpg
может изменять эти файлы.
~/.gnupg
Это домашний каталог по умолчанию, который используется, если не задана ни переменная окружения GNUPGHOME
, ни опция --homedir
.
~/.gnupg/pubring.gpg
Публичный ключевой контейнер (keyring) в устаревшем формате. Вам следует создавать резервные копии этого файла.
Если этот файл недоступен, gpg
по умолчанию использует новый формат keybox и создает файл pubring.kbx
, если только этот файл уже не существует, в этом случае он также будет использоваться для ключей OpenPGP.
Примечание: Если существуют оба файла,
pubring.gpg
иpubring.kbx
, но в последнем нет ключей OpenPGP, будет использоваться устаревший файлpubring.gpg
. Будьте осторожны: версии GnuPG до 2.1 всегда будут использовать файлpubring.gpg
, потому что они не знают о новом формате keybox. Если вам придется использовать GnuPG 1.4 для расшифровки архивных данных, вам следует сохранить этот файл.
~/.gnupg/pubring.gpg.lock
Файл блокировки (lock file) для публичного ключевого контейнера.
~/.gnupg/pubring.kbx
Публичный ключевой контейнер в новом формате keybox. Этот файл используется совместно с gpgsm
. Вам следует создавать резервные копии этого файла. См. выше связь между этим файлом и его предшественником.
Чтобы преобразовать существующий файл pubring.gpg
в формат keybox, вы сначала создаете резервную копию значений доверия (ownertrust), затем переименовываете pubring.gpg
в publickeys.backup
(чтобы он не распознавался любой версией GnuPG), запускаете импорт и, наконец, восстанавливаете значения доверия:
$ cd ~/.gnupg
$ gpg --export-ownertrust >otrust.lst
$ mv pubring.gpg publickeys.backup
$ gpg --import-options restore --import publickeys.backup
$ gpg --import-ownertrust otrust.lst
~/.gnupg/pubring.kbx.lock
Файл блокировки для pubring.kbx
.
~/.gnupg/secring.gpg
Устаревший контейнер секретных ключей, используемый версиями GnuPG до 2.1. Он не используется GnuPG 2.1 и позднее. Вы можете захотеть сохранить его на случай, если вам придется использовать GnuPG 1.4 для расшифровки архивных данных.
~/.gnupg/secring.gpg.lock
Файл блокировки для устаревшего контейнера секретных ключей.
~/.gnupg/.gpg-v21-migrated
Файл, указывающий, что миграция на GnuPG 2.1 была выполнена.
~/.gnupg/trustdb.gpg
База данных доверия (trust database). Нет необходимости создавать резервные копии этого файла; лучше создать резервную копию значений доверия владельца (см. опцию --export-ownertrust
).
~/.gnupg/trustdb.gpg.lock
Файл блокировки для базы данных доверия.
~/.gnupg/random_seed
Файл, используемый для сохранения состояния внутреннего пула случайных чисел.
~/.gnupg/openpgp-revocs.d/
Это каталог, в котором gpg
хранит предварительно сгенерированные отзывные сертификаты. Имя файла соответствует отпечатку OpenPGP соответствующего ключа. Рекомендуется создавать резервные копии этих сертификатов и, если основной закрытый ключ не хранится на диске, перемещать их на внешнее запоминающее устройство. Любой, кто имеет доступ к этим файлам, может отозвать соответствующий ключ. Вы можете распечатать их. Вам следует создавать резервные копии всех файлов в этом каталоге и позаботиться о том, чтобы эта резервная копия хранилась в надежном месте.
Работа дополнительно контролируется несколькими переменными окружения:
HOME
Используется для определения местоположения домашнего каталога по умолчанию.
GNUPGHOME
Если установлена, указывает каталог, используемый вместо "~/.gnupg"
.
GPG_AGENT_INFO
Эта переменная устарела; она использовалась версиями GnuPG до 2.1.
PINENTRY_USER_DATA
Это значение передается через gpg-agent
в pinentry
. Это полезно для передачи дополнительной информации пользовательскому pinentry
.
COLUMNS
LINES
Используются для масштабирования некоторых дисплеев под полный размер экрана.
LANGUAGE
Помимо своего использования в GNU, она используется в версии для W32 (Windows) для переопределения выбора языка, сделанного через реестр. Если она используется и установлена в допустимое и доступное имя языка (langid
), файл с переводом загружается из gpgdir/gnupg.nls/langid.mo
. Здесь gpgdir
— это каталог, из которого был загружен бинарный файл gpg
. Если его не удается загрузить, предпринимается попытка использовать реестр, и в крайнем случае используется родная система локалей Windows.
GNUPG_BUILD_ROOT
Эта переменная используется только набором регрессионных тестов в качестве вспомогательного средства в операционных системах без надлежащей поддержки для определения имени текстового файла процесса.
GNUPG_EXEC_DEBUG_FLAGS
Эта переменная позволяет включить диагностику для управления процессами. Ожидается десятичное числовое значение. Бит 0 включает общую диагностику, бит 1 включает определенные предупреждения в Windows.
GNUPG_ASSUME_COMPLIANCE
Вспомогательная переменная для отладки, чтобы перевести систему в состояние предположения о соответствии. Например, в режиме de-vs
это вернет 2023 в качестве идентификатора вместо 23.
При вызове компонента gpg-agent
программа gpg
отправляет набор переменных окружения в gpg-agent
. Имена этих переменных можно перечислить с помощью команды:
gpg-connect-agent 'getinfo std_env_names' /bye | awk '$1=="D" {print $2}'