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