serverapps:postfix:virtual_mailbox
目次
仮想ドメイン、仮想アドレス
管理するドメインが増えるとそれぞれにmailサーバが必要になったりするんですが、それは面倒なので仮想ドメインで済ませてしまう。
とってもお手軽、ドメイン追加
mydestination にドメイン名を追加すればOK。
mydestination = 本ドメイン, 仮想ドメイン
ただし、ユーザ名=OSのアカウントで区別されるため、複数のドメインで同じユーザ名が使えないので注意!
メールアドレス | 配送先 |
---|---|
hoge@本ドメイン | hoge |
hoge@仮想ドメイン | hoge |
hogehoge@本ドメイン | hogehoge |
hogehoge@仮想ドメイン | hogehoge |
virtual_mailboxを使う
名前の通り、Mailboxを仮想化しますので、メールアカウントをOSのアカウントから分離できます。
また、複数ドメインへの対応もできます。
設定項目はこんなものでしょう。
Option | memo |
---|---|
virtual_mailbox_base | 全てのメールボックスが置かれる場所 |
virtual_mailbox_domains | ドメインのリスト |
virtual_mailbox_maps | ユーザリスト |
virtual_mailbox_limit | メールボックスのサイズ |
virtual_gid_maps | メールボックスのgid |
virtual_uid_maps | メールボックスのuid |
仮想メールボックス用ユーザの作成
今回は、仮想メールボックス用ユーザを作成して、そのhomeディレクトリに仮想メールボックスを配置することにします。
ユーザ名とかuidは適当に決めてください。
# adduser Username: 仮想メールボックスユーザ Full name: Uid (Leave empty for default): nnn Login group [仮想メールボックスユーザ]: Login group is 仮想メールボックスユーザ. Invite 仮想メールボックスユーザ into other groups? []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: nologin Home directory [/home/仮想メールボックスユーザ]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: y Lock out the account after creation? [no]: Username : 仮想メールボックスユーザ Password : <random> Full Name : Uid : nnn Class : Groups : 仮想メールボックスユーザ Home : /home/仮想メールボックスユーザ Home Mode : Shell : /usr/sbin/nologin Locked : no OK? (yes/no): y adduser: INFO: Successfully added (仮想メールボックスユーザ) to the user database. adduser: INFO: Password for (仮想メールボックスユーザ) is: xxxxxxxxxx Add another user? (yes/no): n Goodbye!
main.cfの編集
必要な項目を設定していきます。
Option | 設定値 | メモ |
---|---|---|
virtual_mailbox_base | /home/仮想メールボックスユーザ | 前述した仮想メールボックス用ユーザのhomeを指定します |
virtual_mailbox_domains | 仮想ドメイン | 仮想ドメイン名 |
virtual_mailbox_maps | ldap:/usr/local/etc/postfix/yyyyyyyy.cf | マッピングはldapでやっています |
virtual_mailbox_limit | 52428800 | 50Mbyteにしてみました |
virtual_gid_maps | static:nnn | 仮想メールボックスユーザのgid |
virtual_uid_maps | static:nnn | 仮想メールボックスユーザのuid |
LDAPを使ったvirtual_mailbox_mapsの作成
virtual_mailbox_maps用のファイルを作成します。
#touch /usr/local/etc/postfix/yyyyyyyy.cf
内容はこんな感じ。
server_host = ldapサーバアドレス server_port = 389 timeout = 5 bind = yes bind_dn = cn=管理者,dc=yyyy,dc=zzz bind_pw = パスワード search_base = ou=xxxx,dc=yyyy,dc=zzz query_filter = (mail=%s) result_attribute = mail result_format = %s/Maildir/ scope = sub version = 3 dereference = 1
以下のコマンドでチェックしてみる。
result_formatで指定した結果が帰ってくればOK。
# postalias -q xxx@example.com ldap:/usr/local/etc/postfix/yyyyyyyy.cf xxx@example.com/Maildir/
serverapps/postfix/virtual_mailbox.txt · 最終更新: 2017/07/05 03:22 by hayashi