Я пытаюсь настроить почтовый сервер на новой машине с 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/