PostfixとCourier-IMAPでひとつのマシンで複数のメールドメインをを登録し利用できるようにする。
/etc/postfix/main.cf ドメイン名、配信されるメールフォルダのルートや、それを行うユーザ、グループを設定 ドメイン:test.ism21.net と test.nec.net 配信されるメールフォルダのルート:/var/mail/vhosts 具体的な保存先を示すファイル:/etc/postfix/vmailbox
virtual_mailbox_domains = test.ism21.net, test.nec.net virtual_mailbox_base = /var/mail/vhosts virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_alias_maps = hash:/etc/postfix/virtual
uid 5000のユーザ追加
# useradd -u 5000 -s /bin/false vmail
gid 5000も追加する
/etc/postfix/vmailbox
以下のように指定するとMaildir形式(imap)になり
ism@test.ism21.net test.ism21.net/ism/Maildir/
以下のように指定するとismという一つのファイルにスプールされる(pop形式?)
ism@test.ism21.net test.ism21.net/ism
/etc/postfix/virtual
okada@test.ism21.net okada@abc-u.ac.jp okada2@test.nec.net ism@test.ism21.net
# postmap /etc/postfix/virtual
# postmap /etc/postfix/vmailbox
# postfix reload"を実行
Linuxアカウントではない、IMAP用のアカウント登録
# userdb ism@test.ism21.net set mail=/var/mail/vhosts/test.ism21.net/ism/Maildir home=/var/mail/vhosts/test.ism21.net/ism uid=5000 gid=5000
# userdbpw | userdb ism@test.ism21.net set imappw Password:****** Reenter password:******
Active-mail
Active-mailはこの認証で使用できる
VirtualでActive-mailを使用するときは「DOMAIN_NAME:」をコメントアウトし
ログイン名は「ism@test.ism21.net」のように指定する。
CRAM-MD5で認証を行う場合
使用方法未確認 # userdbpw -hmac-md5 | userdb ism@test.ism21.net set hmac-md5pw
接続してきたクライアントに対し、文字列チャレンジを送る。
クライアントは、この文字列とパスワードをMD5アルゴリズムでメッセージダイジェストを作り、送り返してくる。
ここで同様の手順でメッセージダイジェストを作り、両者が一致していればログインを許可する。
生のパスワードが一切ネットワークを流れないため、安全性が高い。
設定ユーザ(/etc/userdb)をcourier-imapで読めるようにするには
# makeuserdb
で反映される
# less /etc/authlib/userdb ism@test.ism21.net imappw=iDN********o|uid=5000|mail=/var/mail/vhosts/\ test.ism21.net/ism/Maildir|home=/var/mail/vhosts/test.ism21.net/ism|gid=5000 ism2@test.ism21.net imappw=C1e/Ck2qNVqZA|uid=5000|hmac-md5pw=b3db6d7f3d71\ 5d58bbf*************************************a236d072|mail=/var/mail/vhosts/\ test.ism21.net/ism2/Maildir|home=/var/mail/vhosts/test.ism21.net/ism2|gid=5000
# userdb -show ism@test.ism21.net ism2@test.ism21.net
# userdb ism@test.ism21.net del
ログインIDはism@test.ism21.netなどとなる