Отладка ошибки аутентификации Postfix Saslauthd PAM-PGsql
Я настроил pam-pgsql для поиска паролей в моей базе данных для Postfix через Saslauthd.
Я могу проверить учетные данные с помощью командной строки:
$ sudo testsaslauthd -u user@email.com -p password
0: NO "authentication failed"
Аутентификация не удастся, и я не знаю почему.
$ sudo tail /var/log/auth.log
Feb 5 15:33:12 saslauthd[7460]: pam_unix(imap:auth): check pass; user unknown
Feb 5 15:33:12 saslauthd[7460]: pam_unix(imap:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Feb 5 15:33:14 saslauthd[7460]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
Feb 5 15:33:14 saslauthd[7460]: do_auth : auth failure: [user=user@email.com] [service=imap] [realm=] [mech=pam] [reason=PAM auth error]
Как я могу узнать, что делает pam-pgsql? Как я могу получить больше полезных сообщений?
2 ответа
Джон из прошлого! У меня есть ответ на все ваши проблемы.
Прямо в вашем журнале есть подсказка:
saslauthd[8044]: pam_unix(imap:auth): check pass; user unknown
Помните, как вы положили конфигурацию PAM в /etc/pam.d/smtp
и не imap
? И ваш журнал говорит imap
? Да, вы пытаетесь авторизоваться на неправильном сервисе.
Я на самом деле нашел решение в руководстве Postfix SASL, прямо под тем местом, где вы нашли эту тестовую команду Sasl:
Тестирование аутентификации saslauthd
Укажите дополнительный
-s smtp
"если saslauthd был настроен для связи с платформой аутентификации PAM
Да, вы скоро обнаружите, что правильный вызов скорее:
$ sudo testsaslauthd -u user@email.com -p password -s smtp
0: OK "Success."
Я предполагаю, что вы настроили этот модуль через его конфигурационный файл /etc/pam_pgsql.conf, который принимает параметр отладки:
database = db
user = user
[...]
debug = 1
Также есть глобальный параметр отладки, который вы должны добавить к строкам конфигурации pam:
auth required pam_pgsql.so debug
источник: [github] официальный репо