*Postfix+Courier-IMAPでVirtalMailHost [#a189361f] RIGHT:更新日&lastmod(); PostfixとCourier-IMAPでひとつのマシンで複数のメールドメインをを登録し利用できるようにする。 **Postfixの設定 [#i4e523b9] ''/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も追加する ***配送先を指定 [#s7abdda2] ''/etc/postfix/vmailbox'' 以下のように指定するとMaildir形式(imap)になり ism@test.ism21.net test.ism21.net/ism/Maildir/ 以下のように指定するとismという一つのファイルにスプールされる(pop形式?) ism@test.ism21.net test.ism21.net/ism ***Virtualから他のサイト(Virtual内および外部)に転送 [#o47f4eff] ''/etc/postfix/virtual'' okada@test.ism21.net okada@abc-u.ac.jp okada2@test.nec.net ism@test.ism21.net -virtual ファイルを編集したらコマンド # postmap /etc/postfix/virtual -vmailbox ファイルを更新したら # postmap /etc/postfix/vmailbox -main.cf ファイルを変更したらコマンド # postfix reload" を実行 **Courier-IMAP [#x84f1ad8] Linuxアカウントではない、IMAP用のアカウント登録 ***ユーザ登録 [#vc465687] # 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 ***パスワード登録 [#y5a5822d] # 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 で反映される ***確認 [#xb7de900] # 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 ***ユーザ削除 [#c21e74fa] # userdb ism@test.ism21.net del ログインIDはism@test.ism21.netなどとなる **SMTP AUTH(SMTP認証) [#i44aef23] SMTPで認証を行う ユーザ管理をsaslを利用するように設定 ''/etc/sasl2/smtpd.conf'' SASL用のパスワードデータベース pwcheck_method: auxprop ---------- Linuxアカウント pwcheck_method: pwcheck ただし、pwcheckがないのでこれだけではLinuxアカウントでは動作しない。 (別途検討する) ---------- ***ユーザ登録 [#pc6398be] saslpasswd2 -c -u (ドメイン) -a smtpauth (ユーザ) # saslpasswd2 -c -u test.ism21.net -a smtpauth ism Password: <- (1) Again (for verification): ***確認 [#lcadadd2] # sasldblistusers2 ism@test.ism21.net: userPassword postfixがDBにアクセスできるように設定 # chgrp postfix /etc/sasldb2 # chmod 640 /etc/sasldb2 Mailでは以下のように設定 -認証ユーザ ism@test.ism21.net -パスワード (1) SSLなどパスワード暗号化は別途検討 **メールの移管 [#g674f529] Maildirの内容を同じアカウントならコピーでOKただ cp -a でコピーすること アカウントが異なると単純にいかない。