SPAWN(8) SPAWN(8) 名前 spawn - Postfix 外部コマンド呼び出し 書式 spawn [generic Postfix daemon options] command_attributes... 解説 spawn(8) デー モ ンはPostfixで inetd と同等な機能を提供します。Postfix master.cf ファイルで指定されたポートで待ち、接続が確立されると外部コ マ ンドを呼び出します。接続は (UNIX ドメインソケットのような) ローカル IPC または (TCP ソケットのような) 非ローカル IPC を通して行なわれます。コマ ン ドの標準入力、出力やエラー出力は直接 communication endpoint に接続さ れます。 このデーモンは master(8) プロセスマネージャから起動されることを想定して います。 コマンド属性の文法 外部コマンドの属性は master.cf ファイルでサービスの定義の後に与えます。 文法は次の通りです: user=username (必須) user=username:groupname 外部コマンドは username で指定された権限で実行されます。ソフトウ ェアはルート権限やメールシステムの所有者権限で実行することを拒否 します。groupname が指定されると、username のグループ ID の代 わ りに対応するグループ ID が使われます。 argv=command... (必須) 実行されるコマンド。これは最後のコマンド属性として指定されなけれ ばいけません。コマンドは直接実行されます。つまり、シェルのコマン ド解釈によるシェルのメタ文字の解釈は受けません。 バグ 通 常のPostfixプロセスリソース制御を働かせるため、spawn(8) は同時に一つ の外部コマンドしか走らせません。それだけでも貴重なプロセスリソースを 浪 費することで大きなオーバーヘッドを示します。spawn(8) デーモンはより組織 的な解決法に置き換えられることが期待されます。 診断 spawn(8) デーモンは子の異常終了を報告します。問題は syslogd(8) に記録さ れ ます。 セキュリティ こ のプログラムは指定されたユーザで外部コマンドを実行するためにルート権 限が必要です。そのため、セキュリティに注意を払う必要があります。 し か し、spawn(8) デーモンは外部コマンドに話しかけないため、data-driven な攻 撃は受けにくいです。 設定パラメータ spawn(8) プロセスは限られた短時間しか動かないため、main.cf への変更は自 動 的に拾われます。この変更を早くしたければ "postfix reload" コマンドを 使ってください。 以下の文章はパラメータの概要のみを提供します。例を含 む 詳 細 は post- conf(5) を参照してください。 リソースと速度の制御 transport_time_limit ($command_time_limit) 終了されるまでにコマンドが動くことが許される時間量。 その他 config_directory ('postconf -d' の出力を参照) Postfix main.cf および master.cf 設定ファイルのデフォルトの場所 。 daemon_timeout (18000s) ビルトイン監視タイマーによって終了するまでの、Postfix デーモンプ ロセスが要求を扱うことができる時間。 export_environment ('postconf -d' の出力を参照) Postfix プロセスが非 Postfix プロセスに渡す環境変数のリスト。 ipc_timeout (3600s) 内部通信チャネルを使った情報の送受信の時間制限。 mail_owner (postfix) Postfix キューおよびほとんどの Postfix デーモンプロセスを所有す る UNIX システムアカウント。 max_idle (100s) Postfix デーモンプロセスが終了するまでに次のサービス要求を待つ最 大時間。 max_use (100) Postfix デーモンプロセスが終了するまでの接続要求の最大数。 process_id (read-only) Postfix コマンドまたはデーモンプロセスのプロセス ID。 process_name (read-only) Postfix コマンドまたはデーモンプロセスのプロセス名。 queue_directory ('postconf -d' の出力を参照) Postfix トップレベルキューディレクトリの場所。 syslog_facility (mail) Postfix ロギングの syslog facility 名。 syslog_name (postfix) 例 えば "smtpd" が "postfix/smtpd" となるようにするために syslog レコードのプロセス名の前に付けられるメールシステムの名前。 関連項目 postconf(5), 設定パラメータ master(8), プロセスマネージャ syslogd(8), システムロギング ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布されなければ い けません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA SPAWN(8)