普段、Red Hat系でなんとなくサーバーを構築しています。
Red Hatのデフォルト設定が私にとって都合がいいのでしょうか、CENTOSならなんとなく動くものがDebian系のデフォルトでは動かないことがあります。
今回、pcDuinoからメールを送りたかったんですけど、ISPのメールサーバーにメールのリレーをするためにSMTP認証をしたかったんですけど、saslauthdとの通信がうまくいかなくて思いっきりハマりました。
chrootされたpostfixがsaslauthdとソケット通信できていなかった。
CENTOSでは、postfixがchrrotしていなかったんですよね。それで、debianでもchrootしていないと思い込んで、そこはノーチェックでした。
/etc/postfix/master.cf はデフォルトで以下のようになっています。
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n – – – – smtpd
CENTOSだと、
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n – n – – smtpd
です。
結局、CENTOSのmaster.cf風にchrootしない設定にして、なんとか、postfixとsaslauthdと通信出来るようになりました。
後日の確認になりますけど、おそらく、debian系の/etc/defualt/saslauthdの
OPTIONS="-c"
を
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
にするのが正解なんだろうという気がしています。