Postfix+LDAPでPAM経由でユーザ情報が取得できなかった

当サーバ(Debian 6.0)にてOpenLDAPにユーザ情報を記載し、PAM経由でSambaやWeb,Mailなどの認証をしている。

先日のldapの設定変更でmailが正しく取得できなくなった。設定を何度見直しても原因は分からなかったが、原因はpostfix-ldapパッケージを削除するとうまく動いたのでどうやらこのパッケージが邪魔をしていたようである。

問題を理解するため、ミドルウェア間の連携を考えてみた

postfix <> saslauthed <> pamとどうやらユーザ情報をやり取りするようである。

問題切り分け方法として、

①PAM認証を試す方法は、当サーバならsambaやweb認証に用いているので、そこで問題ないか否かで判断した

②次にsaslauthedが正しく動いているかは/usr/sbin/testauthed -u ユーザ名 -p パスワードで試すのが良いかと。

③当動かない理由もpostfixに限定できたのだが、postfix-ldapパッケージが邪魔するとは思ってなかった(なんで今まで動いてたんだ??)。

なんにせよ、やっと動いた。。。。一日つぶれた。もう、サーバ触りたくない。

参考:
http://futuremix.org/2009/11/postfix-smtp_auth-pam

現導入パッケージ(メール関連)
・ii postfix 2.7.1-1 High-performance mail transport agent
・ii libsasl2-2 2.1.23.dfsg1-7 Cyrus SASL - authentication abstraction library
・ii libsasl2-modules 2.1.23.dfsg1-7 Cyrus SASL - pluggable authentication modules
・ii php-auth-sasl 1.0.4-1 Abstraction of various SASL mechanism responses
・ii sasl2-bin 2.1.23.dfsg1-7 Cyrus SASL - administration programs for SASL users database

■ SASLの設定
・/etc/default/saslauthed は"Start=yes"に変更。"MECHANISM="pam""のままでOK
・/usr/lib/sasl2/smtpd.confはPLAIN Loginなら
pwcheck_method: saslauthed
mech_list:plain login
と書き換え、/etc/postfix/sasl/smtpd.confにコピーorSリンク。
・testsaslauthedでテストして問題なければOK