ユーザ用ツール

サイト用ツール


serverapps:postfix:virtual_mailbox

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

serverapps:postfix:virtual_mailbox [2017/04/14 05:21] – 外部編集 127.0.0.1serverapps:postfix:virtual_mailbox [2017/07/05 03:22] (現在) – [とってもお手軽、ドメイン追加] hayashi
行 1: 行 1:
 +====== 仮想ドメイン、仮想アドレス ======
 +
 +管理するドメインが増えるとそれぞれにmailサーバが必要になったりするんですが、それは面倒なので仮想ドメインで済ませてしまう。
 +
 +===== とってもお手軽、ドメイン追加 =====
 +
 +mydestination にドメイン名を追加すればOK。\\
 +<code>
 +mydestination = 本ドメイン, 仮想ドメイン
 +</code>
 +ただし、ユーザ名=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は適当に決めてください。
 +<code>
 +# 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!
 +</code>
 +==== 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用のファイルを作成します。
 +<code>
 +#touch /usr/local/etc/postfix/yyyyyyyy.cf 
 +</code>
 +内容はこんな感じ。
 +<code>
 +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
 +</code>
 +
 +以下のコマンドでチェックしてみる。\\
 +result_formatで指定した結果が帰ってくればOK。
 +<code>
 + # postalias -q xxx@example.com ldap:/usr/local/etc/postfix/yyyyyyyy.cf
 + xxx@example.com/Maildir/
 +</code>
 +