web-dev-qa-db-ja.com

Postfix SaslauthdPAM-PGsql認証の失敗のデバッグ

Saslauthdを介してPostfixのデータベース内のパスワードを検索するようにpam-pgsqlを設定しました。

コマンドラインを使用して資格情報をテストできます。

$ Sudo testsaslauthd -u [email protected] -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: [[email protected]] [service=imap] [realm=] [mech=pam] [reason=PAM auth error]

Pam-pgsqlが何をしているのかをどうやって知ることができますか?より役立つメッセージを取得するにはどうすればよいですか?

2
jonallard

過去からのジョン!私はあなたのすべての問題に対する答えを持っています。

ログに手がかりがあります。

saslauthd[8044]: pam_unix(imap:auth): check pass; user unknown

PAM構成をimapではなく/etc/pam.d/smtpに配置した方法を覚えていますか?そして、あなたのログはimapと言っていますか?うん、あなたは間違ったサービスで認証しようとしています。

私は実際にPostfixSASLマニュアルのすぐ下に解決策を見つけました Saslテストコマンドを見つけた場所

Saslauthd認証のテスト

SaslauthdがPAM認証フレームワークに接続するように構成されている場合は、追加の「-s smtp」を指定します

うん、あなたはすぐに正しい呼び出しがむしろであることに気付くでしょう:

$ Sudo testsaslauthd -u [email protected] -p password -s smtp
0: OK "Success."
2
jonallard

このモジュールは、デバッグパラメータを受け入れる構成ファイル/etc/pam_pgsql.confを介して構成されていると思います。

    database = db
    user = user
    [...]
    debug = 1

Pam設定行に追加する必要のあるグローバルデバッグパラメータもあります。

    auth        required    pam_pgsql.so debug

ソース: [github]公式リポジトリ

1
maxxvw