Ubuntu 16.04 auth_pam сломан

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: [[email protected]] [service=smtp] [realm=testubuntu1604.com] [mech=pam] [reason=PAM auth error]

Раньше это прекрасно работало в Ubuntu 14.04.

Есть ли какие-либо изменения в Ubuntu 16.04 относительно аутентификации PAM, о которых мне следует знать?

решение1

Использование 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#Courier-Authdaemon

(размещаю это как новое решение, а не как комментарий к существующему решению, поскольку у меня пока нет репутации, чтобы комментировать, а в существующем решении не хватало важного шага)

решение2

Откройте и добавьте эти строки в sudo vim /etc/default/saslauthdфайл,

MECHANISMS="rimap" 
MECH_OPTIONS="127.0.0.1"

решение3

Насколько я понимаю, pam_mysql больше не разрабатывается, и эта конкретная функция в нем была объявлена ​​устаревшей несколько лет назад, новое обновление окончательно «сломало» ее. Я пока не нашел решения, кроме как перенести вашу аутентификацию из mysql, что для меня на самом деле не вариант, поэтому я все еще ищу решение.

обновлять: Я только что нашел эту страницу, хотя еще не тестировал ее: http://osdir.com/ml/ubuntu-bugs/2016-04/msg23005.html

решение4

Если вы используете Courier IMAP, то также можно выполнить аутентификацию с помощью его authdaemon, как показано ниже.https://www.hostsom.com/postfix-mysql-courier-imap-ubuntu-16-04-part3/

Связанный контент