2010/06/10

smtp-authの認証バックエンドをdovecotにしてみる

postfixでsmtp-authを利用するのに、以前の知識ではsaslpasswdを使った認証方法しか知らなかったんですが、どうも認証バックエンドにdovecotが使えるようなので、それを試してみました。

というのも、パスワード管理をするのに、dovecotとsaslpasswdで別なのも気持ち悪いし、ましてやアカウント情報となると、これにさらにpostfixが加わるので、いちいち設定なんぞしていられない状況なわけです。
とりあえずpostfix側の設定(必要な部分)はこんな感じです。smtpd_sasl_typeでdovecotを選択し、smtpd_sasl_pathで問い合わせ先を(後で作る)dovecotのソケットに向けます。あと、 smtpd_recipient_restrictionsでちゃんと制限もちゃんとかけておかないと、儀式だけのsmtp-authになっちゃいますの でご注意(笑)。
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain = $mydomain

んで、dovecot.confの側はこんな感じ。ファイルソケットを作って待ち受けるのがミソですね。この環境では認証データベースをpasswdにし ているので、他の認証バックエンドを使いたい方は、適宜調整するといけるかもしれません。
auth default {
mechanisms = plain login
passdb shadow {
args = /etc/shadow
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}

0 件のコメント:

コメントを投稿