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が何をしているのかをどうやって知ることができますか?より役立つメッセージを取得するにはどうすればよいですか?
過去からのジョン!私はあなたのすべての問題に対する答えを持っています。
ログに手がかりがあります。
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."
このモジュールは、デバッグパラメータを受け入れる構成ファイル/etc/pam_pgsql.confを介して構成されていると思います。
database = db
user = user
[...]
debug = 1
Pam設定行に追加する必要のあるグローバルデバッグパラメータもあります。
auth required pam_pgsql.so debug
ソース: [github]公式リポジトリ