VIRTUAL(8) VIRTUAL(8) 名前 virtual - Postfix バーチャルドメインメール配送エージェント 書式 virtual [generic Postfix daemon options] 解説 virtual 配送エージェントはバーチャルメールホスティングサー ビ スのために設計されました。元々は Postfix local 配送エー ジェントに基づいていますが、このエージェントはアドレスのロ ーカル部分をハードコードされた unix パスワードファイル検索 する代わりに、完全な受信者アドレスのマップ検索で受信者を検 索します。 この配送エージェントはメールだけを配送します。メールの転送 や移転通知などは virtual マップや同様の検索メカニ ズ ム を 使って設定されなければいけません。 メールボックスの場所 mailbox の場所は virtual_mailbox_base および virtual_mail- box_maps 設定パラメータにより制御されます ( 以 下 参 照)。 virtual_mailbox_maps テーブルは完全な受信者アドレスにより インデックス化されます。 mailbox パス名は次のように構成されます: $virtual_mailbox_base/$virtual_mailbox_maps(recipient) ここで recipient は完全な受信者アドレスです。 UNIX MAILBOX 形式 mailbox の場所が / で終わっていなければ、メッセージは UNIX mailbox 形式で配送されます。この形式は複数のメッセージを一 つのテキストファイルに保存します。 virtual 配送エージェントは "From sender time_stamp" エンベ ロ ープヘッダ、エンベロープ受信者アドレスを持つ Delivered- To: メッセージヘッダ、エンベロープ送信者アドレ ス を 持 つ Return-Path: メッセージヘッダをそれぞれのメッセージの前に 付け、 > 文字を "From " 行の頭に加え、空行を付加します。 mailbox は配送中は排他的アクセスのためにロックされます。問 題が起こると、mailbox は元の長さに切り詰めようと試みます。 QMAIL MAILDIR 形式 mailbox の場所が / で終わっていると、メッセー ジ は qmail maildir 形式で配送されます。この形式はファイルごとに一つの メッセージを保管します。 virtual 配送エージェントデーモンはエンベロープ受信者アドレ ス を持つ Delivered-To: メッセージヘッダとエンベロープ送信 者アドレスを持つ Return-Path: メッセージヘッダを前に加えま す。 定義上、maildir 形式はメール配送や検索時にロックを必要とし ません。 MAILBOX の所有者 Mailbox の 所 有 者 は virtual_uid_maps お よ び vir- tual_gid_maps 検索テーブルによって制御され、これらは完全な 受信者アドレスでインデックス化されます。それぞれのテーブル は数字のユーザおよびグループIDという文字列を提供します。 virtual_minimum_uid パラメータは virtual_owner_maps もしく は virtual_uid_maps に指定できるユーザ ID の数値の下限を指 定します。 セキュリティ virtual 配送エージェントはセキュリティに注意は必要なく、受 信者ユーザ/グループ ID 情報は十分に保護された検索テーブ ル により提供されます。このプログラムは chroot されて動くよう には設計されていません。 標準 RFC 822 (ARPA インターネットテキストメッセージ) 診断 受信者のメールボックスがなかったり、受信者がディスククォー タを越えていると、メールをバウンスします。それ以外の場合は 全て、存在する受信者宛のメールは遅延され、警告がログに記録 されます。 問 題 と処理は syslogd(8) に記録されます。壊れたメッセージ ファイルは後でキューマネージャが corrupt キューに移動で き るようにマークされます。 notify_classes パラメータの設定により、postmaster はバウン スやその他のトラブルの通知を受けます。 バグ この配送エージェントは静かに拡張アドレスを無視します。 Postfix は複数の属性結果を返すことが可能な検索テーブルを持 つ べ き です。3つのテーブルを維持する不便さを避けるために は、 LDAP や MYSQL データベースを使ってください。 設定パラメータ 以下の main.cf パラメータは特にこのプログラムに関連があ り ま す。文法の詳細やデフォルト値は Postfix main.cf ファイル を参照して下さい。設定の変更後は postfix reload コマンドを 使ってください。 Mailbox 配送 virtual_mailbox_base 全 ての mailbox や maildir パスの前に付けられるパス を指定します。これは virtual_mailbox_maps にある 制 御 外の制御マップがメールボックスをファイルシステム にばらまかないようにする安全な手段です。 "/" をセッ トすることもできますが、この設定は勧められません。 virtual_mailbox_maps (regexp マップは使えません) 受 信者は mailbox や maildir のパスを決めるために、 これらのマップで検索されます。返されたパスがス ラッ シュ("/") で終わっていると、 maildir 形式の配送がお こなわれ、そうでなければ パスは UNIX 形式の mailbox ファイルを指定したものとみなされます。 virtual_mailbox_base が無条件でこのパスの前に付けら れることに注意してください。 virtual_minimum_uid virtual_owner_maps や virtual_uid_maps 検索から返さ れる物として受け入れられる最小の uid を指定します。 これよりも小さな値が返されると拒否され、メッセー ジ は遅延されます。 virtual_uid_maps (regexp マップは使えません) 受信者は目的の mailbox に書き込む際に、これらのマッ プを使ってユーザ ID を決めるのに検索されます。 virtual_gid_maps (regexp マップは使えません) 受信者は目的の mailbox に書き込む際に、グループ ID を決めるのにこれらのマップを使って検索されます。 ロックの制御 virtual_mailbox_lock UNIX 形式の mailbox のロック方法: flock, fcntl また は dotlock のうち1つもしくはそれ以上 で す。dotlock 法は受信者の UID または GID が mailbox ファイルの親 ディレクトリへの書き込み権が必要です。 maildir 配送は明示的なロックなしでも安全なため、 こ の設定はそのような配送では無視されます。 システムで使えるロック方法を見付けるためには、post- conf -l コマンドを使ってください。 deliver_lock_attempts UNIX 形式の mailbox ファイルの排他的ロックを獲得 し ようとする回数を制限します。 deliver_lock_delay UNIX 形式の mailbox ファイルの排他的ロックを連続し て獲得しようとする時間間隔 (デフォルト: 秒)。実際の 遅延は少しランダムになっています。 stale_lock_time 止 まったロックファイルが削除されてからの時間を制限 します (UNIX 形式の mailbox のみに適用されます)。 リソースの制御 virtual_destination_concurrency_limit virtual 配送エージェントを使った同じドメインへの 同 時 配 送 数 を 制 限 し ま す。 デ フォルトの制限は default_destination_concurrency_limit パラメータ か ら取得します。制限は Postfix キューマネージャにより 強制されます。 virtual_destination_recipient_limit virtual 配送エージェントを使ったメッセージ配送ご と の 受 信 者 数 を 制 限 し ます。デフォルトの制限は default_destination_recipient_limit パラメータか ら 取得します。制限は Postfix キューマネージャにより強 制されます。 virtual_mailbox_limit mailbox や maildir ファイルの最大バイト数。 0 を 指 定すると制限をなくします。 歴史 こ のエージェントはもともと Postfix local 配送エージェント に基づいています。修正は主に適用できなかったりこの状況で安 全 で な い も の を取り除くことからなっています: aliases, ~user/.forward ファイル、 "|command" や /file/name への 配 送。 Delivered-To: ヘッダは Daniel Bernstein による qmail シス テムで現れました。 maildir 構造は Daniel Bernstein による qmail システムで 現 れました。 関連項目 bounce(8) 非配送状態レポート syslogd(8) システムロギング qmgr(8) キューマネージャ ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布さ れなければいけません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Andrew McNamara andrewm@connect.com.au connect.com.au Pty. Ltd. Level 3, 213 Miller St North Sydney 2060, NSW, Australia 1