Emacs. Почта. Парольная аутентификация
Конфигурационные файлы для настройки парольной аутентификации для почтовых программ (в частности для Emacs).
Содержание
1 Описание
- Библиотека
auth-source
для emacs создавалась для хранения паролей для gnus. - Документация: https://www.gnu.org/software/emacs/manual/html_mono/auth.html
- Библиотека
auth-source
поддерживает несколько бэкэнд-хранилищ:- бэкэнд netrc,
- файлы json,
- формат файла:
1[{ "machine": "SERVER", "port": "PORT", "login": "USER", "password": "PASSWORD" }]
- формат файла:
- Secret Service API (https://www.freedesktop.org/wiki/Specifications/secret-storage-spec/),
- стандартный менеджер паролей Unix pass (см. Менеджер паролей pass).
2 Настройка Emacs
- Переменная
auth-sources
задаёт источники аутентификации:- устаревшая настройка по умолчанию (для netrc):
1(setq auth-sources '((:source "~/.authinfo.gpg" :host t :port t)))
- то же самое, но короче (для netrc):
1(setq auth-sources '((:source "~/.authinfo.gpg")))
- несколько источников (все варианты для netrc) (это является значением по умолчанию):
1(setq auth-sources '("~/.authinfo.gpg" "~/.authinfo" "~/.netrc"))
- использование Secrets API:
1(setq auth-sources '("secrets:Login"))
- использование pass:
1(setq auth-sources '(password-store))
- использование json:
1(setq auth-sources '("~/.authinfo.json.gpg"))
- устаревшая настройка по умолчанию (для netrc):
3 Парольная аутентификация netrc
3.1 Конфигурационные файлы
~/.authinfo.gpg
- зашифрованный;~/.authinfo
- не зашифрованный;~/.netrc
- устаревший вариант.
3.2 Разрешения
Установите права только на чтение и запись для пользователя:
1chmod 600 ~/.authinfo.gpg
3.3 Формат файла паролей
Файл имеет следующий формат:
1machine HOST login NAME password VALUE port NUMBER
Если имеется несколько учётных записей на одном сервере (например, на gmail), вместо имени хоста можно использовать имя профиля:
1machine PROFILE login NAME password VALUE port NUMBER
Учитывая, что с одним логином могут быть почтовые адреса на разных доменах, предлагается в качестве
PROFILE
использовать полный почтовый адрес (такой, какaccount@domain
).Также можно использовать этот файл для указания клиентских сертификатов, которые будут использоваться при настройке TLS-соединений:
1machine HOST port PORT key KEY cert CERT
3.4 Шифрование файла паролей
Для безопасности следует зашифровать файл паролей (см. Работа с PGP).
- Зашифровать файл:или
1gpg -c .authinfo
1gpg --symmetric .authinfo
- Расшифровать файл:
1gpg --decrypt-files .authinfo.gpg