FreeBSD の courier-imap で cram-md5 を使ってみる

[id:usaka:20070723]で FreeBSDcourier-imap を入れたけど、別の機械も同様の設定にすることになったんで、ついでに cram-md5 を有効にしてみた。

インストール

基本は[id:usaka:20070723]と同じだけど、mail/courier-imap を、WITH_AUTH_USERDB をセットしてインストールする。
make config で AUTH_USERDB をセットしてもいいし、set WITH_AUTH_USERDB=yes してから make してもいい。portupgrade を使っているなら、/usr/local/etc/pkgtools.conf の MAKE_ARGS に

MAKE_ARGS = {
      'courier-imap' => 'WITH_AUTH_USERDB=yes',
}

みたいに設定しておけばOK。

/usr/local/etc/courier-imap/imapd の修正

IMAP_CAPABILITY を設定している行があるので、AUTH=CRAM-MD5 を追加する。

#IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES 
SORT QUOTA IDLE"
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES
SORT QUOTA AUTH=CRAM-MD5 IDLE"

ユーザデータベースの設定

userdb コマンド(AUTH_USERDBをセットして courier-imap をインストールすると、一緒にインストールされる)で /usr/local/etc/userdb というファイルにユーザを追加。

userdb username set home=/home/username mail=/home/username/Maildir uid=1001 gid=1001

こんな感じ。

引き続き、パスワードを設定。CRAM-MD5 を使うので、userdbpw に -hmac-md5 オプションを付けて、結果を userdb に食わせる。

userdbpw -hmac-md5 | userdb username set hmac-md5pw

パスワードを二回聞かれるので入力すると、hmac-md5pw が追加される。

最後に、makeuserdb すれば、ユーザデータベースが作られて作業完了。

makeuserdb

popを設定するときもほとんど手順は同じはずです。