モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

Debian(sarge)でPostfix-2.3+dovecotでSMTP Authの設定はまりどころ

Postfix-2.3ではdovecotの認証を利用して、SMTP Authを利用することが出来るようになりました。
そこで、Debian(sarge)でPostfix-2.3+dovecotという構成でSMTP Authを設定してみたのですが、結構はまりどころがあったのでまとめます。


SMTP Authの設定自体は実はほとんど問題はなく、簡単に出来ます。
Postfix付属のドキュメント(Postfix SASL Howto)に沿って設定するだけです。


さて、なにがはまりどころかというと、Debian(sarge)のdovecotはバージョンが0.99.14だということです。
Postfixの説明で書かれている設定方法は、1.0以降でなければ使えない書式と設定のようです。
しかし、Debian(sarge)のdovecot設定ファイル、/etc/dovecot/dovecot.confには、

## Dovecot 1.0 configuration file

と書かれているため、気がつくのが遅れました…
[Dovecot] Error in config を参照。
ということで、dovecotも1.0RCをtarボールを持ってきてインストールしたところ、使えるようになりました。
あと、passdb pamが使えなかったため、shadowを使うようにしました。


一応、うちでやった設定内容を紹介しておきます。

postfixのmake時にsaslを使うように指定しデフォルトでdovecotを指定。

> make -f Makefile.init makefiles
> make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SASL_SERVER=\"dovecot\"'
> make

/etc/postfix/master.cf

submission inet n       -       -       -       -       smtpd
            -o smtpd_etrn_restrictions=reject
            -o smtpd_client_restrictions=permit_sasl_authenticated,reject

/etc/postfix/main.cf

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes

smtpd_recipient_restrictions =
        permit_mynetworks
        permit_sasl_authenticated
        ...

/usr/local/etc/dovecot.conf

auth default {
  mechanisms = plain login
  passdb shadow {
  }
  userdb passwd {
  }
  user = root
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}


さらに細かな設定については
Postfix + Dovecot - どさにっき
が参考になります。


他のツールを入れずにPostfix+dovecotだけでSMTP Auth可能で、Maildirでもmboxでも使えるため、今後はこの構成がメジャーになっていくのではないかと思いました。