В настоящее время Postfix поддерживает только два метода аутентификации SASL. Одним из них является голубятня, которую вы не хотите. Другой - Cyrus, который настолько близок к тому, что вы хотите, насколько это возможно без переписывания Postfix. Это включает запуск отдельного демона аутентификации ( saslauthd
), но файл аутентификации легко редактировать и обновлять.
Основы использования Cyrus SASL можно найти на сайте документации postfix , но вот краткое описание. Пожалуйста, посмотрите на ссылку, если что-то не так!
Начните с установки Cyrus SASL с плагином sasldb
. (Как это сделать, оставлено в качестве упражнения для читателя; предположительно, есть пакет в любой системе пакетов, которую использует ваш бренд Unix.) Поскольку связь между Postfix и SASL будет осуществляться через сокет домена unix, вы можете захотеть добавьте postfix в группу SASL и убедитесь, что у этой группы есть права на чтение и выполнение каталога /var/run/saslauthd
.
Настроить SASL
Сконфигурируйте SASL для использования sasldb, отредактировав /etc/sasl2/smtpd.conf:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
Плагин sasldb означает, что sasl будет использовать файл Berkeley DB для имен пользователей и паролей. Вы добавляете пользователей с помощью команды saslpasswd2
:
$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):
Обратите внимание, что вы указываете домен вместе с именем пользователя, и пользователь должен будет использовать «username@example.com», а не просто «username» при аутентификации.
Вы можете проверить, какие пользователи были введены, запустив sasldblistusers2
.
Запустите saslauthd и убедитесь, что аутентификация работает, выполнив
testsaslauthd -u username@example.com -p password
Настроить Postfix
Как только это будет сделано, скажите Postfix использовать SASL и сообщить Cyrus, что это SMTP, который он аутентифицирует, отредактировав /etc/postfix/main.cf так, чтобы он содержал
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
Затем перезагрузите постфикс, и вы должны быть установлены.