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}'