現状ではこの通り。
試作サーバはこれで何の問題も無く動いてるのに、つばめは断固認証拒否。なんでやねん。
不可解なことに testsaslauthd による認証テストは、どちらも何の問題も無くパスするんですよねぇ・・・ ❓
そして何より困るのは、エラーメッセージがあまりに簡単で、認証に失敗してるのがどの段階での事なのかが判然としないこと。それがわかるだけでもだいぶ負担は減ると思うのだけど。
/etc/postfix/main.cf (抜粋)
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
regexp:/etc/postfix/recipient_checks.reg,
permit_mynetworks,
permit_sasl_authenticated,
permit_auth_destination,
reject_unauth_destination,
reject
/etc/postfix/master.cf (抜粋)
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o smtpd_etrn_restrictions=reject
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#
# The Cyrus deliver program has changed incompatibly, multiple times.
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
/usr/lib/sasl2/smtpd.conf (新設)
pwcheck_method: saslauthd
mech_list: plain login
追記1: /etc/pam.d/smtp について
auth required pam_stack.so service=system-auth
account required pam_stack.so service=system-auth
認証にpamを利用する場合作成するものらしいが、有ろうと無かろうと試作サーバでは認証するしつばめでは拒否。
→ Postfixの運用・管理第2回:SMTP認証 (スタックアスタリスク)
追記2: /etc/sysconfig/saslauthd について
SOCKETDIR=/var/run/saslauthd
MECH=pam
認証にpamを利用する場合こう記述するよう指示している文献がいくつか見られたが、調べたら起動スクリプトにオーバーライドするものでどうも嫌な予感がしたので、現在は入れていません。
そろそろvineのMLにヘルプを要請するべき段階なのだろうか?