Отладка ошибки аутентификации 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] официальный репо

Другие вопросы по тегам