Ubuntu 16.04 auth_pam не работает
Я пытаюсь настроить почтовый сервер на новой машине с Ubuntu 16.04, но не могу заставить его работать должным образом.
Я использую настройку Postfix/Courier с MySQL для аутентификации.
Получение сообщений электронной почты и их чтение с использованием любого почтового клиента (с использованием POP3 и IMAP) работает, как и ожидалось, но когда я пытаюсь отправить что-либо, все, что я получаю, это ошибка аутентификации, и эти ошибки появляются в журнале:
saslauthd[29975]: PAM unable to dlopen(pam_mysql.so): /lib/security/pam_mysql.so: undefined symbol: make_scrambled_password
saslauthd[29975]: PAM adding faulty module: pam_mysql.so
saslauthd[29975]: DEBUG: auth_pam: pam_authenticate failed: Module is unknown
saslauthd[29975]: do_auth : auth failure: [user=office@testubuntu1604.com] [service=smtp] [realm=testubuntu1604.com] [mech=pam] [reason=PAM auth error]
Раньше это прекрасно работало в Ubuntu 14.04.
Есть ли какие-либо изменения в Ubuntu 16.04, касающиеся аутентификации PAM, о которых я должен знать?
5 ответов
Использование authdaemon Courier работает, но необходимо сделать следующее, чтобы сделать authdaemon courier доступным из chroot Postfix:
sudo service courier-authdaemon stop
sudo rm -rf /var/run/courier/authdaemon/ /var/spool/postfix/var/run/courier/authdaemon/
sudo mkdir -p /var/spool/postfix/var/run/courier/authdaemon/
sudo ln -s /var/spool/postfix/var/run/courier/authdaemon/ /var/run/courier/authdaemon
sudo service courier-authdaemon start
Затем просто включите следующее в /etc/postfix/sasl/smtpd.conf
pwcheck_method: authdaemond
authdaemond_path: /var/run/courier/authdaemon/socket
mech_list: plain login
log_level: 9
источник: https://www.hostsom.com/postfix-mysql-courier-imap-ubuntu-16-04-part3/
источник: http://wiki.tolien.co.uk/Postfix_w/o_Maildrop
(опубликовать это как новое решение, а не как комментарий к существующему решению, потому что у меня пока нет репутации, чтобы комментировать, а в существующем решении отсутствует важный шаг)
Откройте и добавьте эти строки в sudo vim /etc/default/saslauthd
файл,
MECHANISMS="rimap"
MECH_OPTIONS="127.0.0.1"
Из того, что я понимаю, pam_mysql больше не разрабатывается, и эта особенность в нем устарела много лет назад, новое обновление, наконец, "сломало" его. Пока что я не нашел решения, кроме как перенести вашу аутентификацию из mysql, что для меня на самом деле не вариант, поэтому все еще ищу решение.
обновление: я только что нашел эту страницу, хотя я еще не тестировал ее: http://osdir.com/ml/ubuntu-bugs/2016-04/msg23005.html
Если у вас есть рабочая аутентификация сервера IMAP, вы можете легко изменить postfix/saslauthd, чтобы использовать его вместо PAM:
"/ etc / default / saslauthd": MECHANISMS = "rimap" MECH_OPTIONS = "127.0.0.1"
Если вы используете курьер IMAP, также можно пройти аутентификацию, используя его authdaemon, как это https://www.hostsom.com/postfix-mysql-courier-imap-ubuntu-16-04-part3/