at_yasu's blog

ロード的なことを

Dovecotの認証をpostfixで使う

もうsaslを使いたくないです。

やることはお題通り。

dovecotのドキュメントはwikiになってて、検索しにくけど、postfixのドキュメントを漁ってたら個人的に素敵なのが出てきたのでメモ書き。


dovecot が unixsocket を保持しといて、postfixが見に行く形です。認証は全てdovecot任せになるので注意を。

dovecot.conf::

auth default {
      mechanisms = plain login
      passdb pam {
      }
      userdb passwd {
      }
      socket listen {
        client {
          # Assuming the default Postfix $queue_directory setting
          path = /var/spool/postfix/private/auth
          mode = 0660
          # Assuming the default Postfix user and group
          user = postfix
          group = postfix
        }
        # deliver and some other programs need also auth-master:
        #master {
        #  path = /var/run/dovecot/auth-master
        #  mode = 0600
        #}
      }
    }


Postfix側::

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth


注意::
Postfixのsmtpd_sasl_pathは、Postfixの queue_directory の相対パス。
そして dovecot.conf の socket listen の client の path は絶対パスです。
Postfix が chrootとかしてる場合は特に注意


参考:
Postfix: Postfix SASL How
Dovecot: HowTo/PostfixAndDovecotSASL - Dovecot Wiki