POSTMAP(1) POSTMAP(1) 名前 postmap - Postfix 検索テーブル管理 書式 postmap [-Nfinoprvw] [-c config_dir] [-d key] [-q key] [file_type:]file_name ... 解説 postmap(1) コマンドは1つもしくはそれ以上の Postfix 検索テーブルを作成し たり問い合わせたり、存在するものを更新します。入力や出力ファイル形式 は 次のものと互換の形式が求められます: makemap file_type file_name < file_name 結 果のファイルが存在しなければ、元となるファイルと同じグループと other の read パーミションで作られます。 テーブルの更新中は、シグナル配送は遅延され、検索に来たプログラムを驚 か せないために、排他的 Advisory ロックがテーブル全体にかけられます。 入力ファイルの書式 検索テーブルの入力ファイルの書式は次の通りです: o テーブルのエントリは次の形式です。 key whitespace value o 空 行および空白だけの行は無視され、最初の非空白文字が `#' の行も 同様です。 o 論理行は非空白文字で始まる行です。空白で始まる行は論理行を継続し ます。 key と value は周りの空白が取り除かれることを除いて、そのまま処理されま す。Postfix のエイリアスデータベースと異なって、 `#' や空白のような特殊 文 字 を含む検索キーを保護するためには引用符を使うことができません。 デ フォルトでは大文字・小文字の区別をせずに検索するために、検索キーは小 文字にマッピングされています; Postfix 2.3では btree: や dbm:、hash: の よ うに検索キーの文字種が固定された文字列となるテーブルでのみ、小文字へ のたたみ込みがおこなわれます。それより前のバージョンで は、regexp: や pcre: のように検索フィールドが大文字・小文字両方の文字列にマッチできる テーブルであっても、検索キーのたたみ込みがおこな わ れ ま す。 そ の た め、$number 置換で情報が失われてしまいます。 コマンドライン引数 -c config_dir デフォルトの設定ディレクトリの代わりに、指定されたディレクトリの main.cf 設定ファイルを読みます。 -d key 指定されたマップから key を検索し、マップ毎に一つのエントリを 削 除 します。要求された情報が見つかると、終了ステータスは 0 になり ます。 - のキーの値が指定されると、プログラムは標準入力ストリームから値 を読みます。少なくとも一つの要求されたキーが見つかると、終了ステ ータスは 0 になります。 -f テーブルの作成時や検索時に検索キーを小文字にしません。 -i 増加モード。標準入力からエントリを読み込み、存在するデータベース は削除しません。デフォルトでは、postmap(1) は file_name のエント リから新しいデータベースを構築します。 -N 検索キーや値の終わりのヌル文字を含みます。 デ フォ ル ト で は、 postmap(1) はホストのオペレーティングシステムのデフォルトと同じ ようにします。 -n 検索キーや値の終わりのヌル文字を含みません。デフォ ル ト で は、 postmap(1) はホストのオペレーティングシステムのデフォルトと同じ ようにします。 -o non-root な入力ファイルを処理する際に、root 権限で処理します。デ フォ ルトでは、postmap(1) はルート権限を落とし、代わりに元となる ファイルの所有者として実行します。 -p 新しいファイルを作る際に、入力ファイルからファイルのアクセス権限 を継承しません。かわりに新しいファイルをデフォルトのアクセス権限 (モード 0644) で作成します。 -q key 指定されたマップから key を検索し、最初に見つかった値を標準出 力 に 書 き出します。要求された情報が見つかると、終了ステータスは 0 になります。 キーの値として - が指定されると、プログラムは標準入力ストリー ム か ら値を読み込み、見つかったキーそれぞれに対して key: value を1 行ずつ書き出します。少なくとも一つの要求されたキーが見つかると、 終了ステータスは 0 になります。 -r テーブルの更新時に、存在するエントリを更新しようとしても何も言わ ず、それを更新してしまいます。 -s データベースのエントリをすべて取り出し、それぞれの 要 素 の key value 出力を1行ずつ書き出します。要素はデータベース順に書き出さ れ、必ずしも入力順と同じにはなりません。この機能はPostfix 2.2 以 降で使えますが、すべてのデータベースで使えるわけではありません。 -v デバッグ目的で冗長モードを使用します。複数の -v オプションを指定 すると、ソフトウェアの冗長度が増します。 -w テーブルの更新時に、存在するエントリを更新しようとしても何も言わ ず、その試行を無視します。 引数: file_type データベースの種類。サポートされている種類を知るには 、"postconf -m" コマンドを使ってください。 postmap(1) コマンドはサポートされているどのファイル形式でも問い 合わせることができますが、以下のファイル形式しか作成することがで きません: btree 出力は file_name.db という名前の btreeファイルです。これ は db データベースをサポートしているシステムで使えます。 cdb 出力は file_name.cdb という名前の1つのファイルです。こ れ は cdb データベースをサポートしているシステムで使えます。 dbm 出力は file_name.pag と file_name.dir という名前の 2つ の ファイルから構成されます。これは dbm データベースをサポー トしているシステムで使えます。 hash 出力は file_name.db という名前のハッシュファイルです。 こ れ は db データベースをサポートしているシステムで使えま す。 sdbm 出力は file_name.pag と file_name.dir という名前の 2つ の ファ イ ル から構成されます。これは sdbm データベースをサ ポートしているシステムで使えます。 file_type が指定されないと、ソフトウェアは default_database_type 設定パラメータで指定されたデータベース形式を使います。 file_name データベース再構築時の検索テーブルの元となるファイルの名前。 診断 問 題は標準エラーストリームと syslogd(8) にログとして記録されます。出力 がなければ問題がなかったことを示します。重複エントリはスキップし、フ ラ グを立てて警告します。 postmap(1) は("postmap -q" 検索の成功も含めて)実行に成功すると終了ス テータス 0 で終わり、失敗すると 0 以外の終了ステータスで終わります。 環境変数 MAIL_CONFIG Postfix 設定ファイルのディレクトリ。 MAIL_VERBOSE デバッグ目的の冗長ログモードを有効にします。 設定パラメータ 以下の main.cf パラメータは特にこのプログラムに関連があります。以下の文 章はパラメータの概要のみを提供します。例を含む詳細は postconf(5) を参照 してください。 berkeley_db_create_buffer_size (1677721k) Berkeley DB hash もしくは btree テーブルを作成するプログラムのた めの、テーブルごとの I/O バッファサイズ。 berkeley_db_read_buffer_size (131072) Berkeley DB hash もしくは btree テーブルを読み込むプログラムのた めの、テーブルごとの I/O バッファサイズ。 config_directory ('postconf -d' の出力を参照) Postfix main.cf および master.cf 設定ファイルのデフォル ト の 場 所。 default_database_type ('postconf -d' の出力を参照) newaliases(1) や postalias(1)、postmap(1) コマンドで使う、デフォ ルトのデータベース形式。 syslog_facility (mail) Postfix ロギングの syslog facility 名。 syslog_name (postfix) 例えば "smtpd" が "postfix/smtpd" となるようにするために syslog レコードのプロセス名の前に付けられるメールシステムの名前。 関連項目 postalias(1), エイリアスデータベースの作成/更新/検索 postconf(1), サポートされたデータベースの種類。 postconf(5), 設定パラメータ。 README ファイル DATABASE_README, Postfix 検索テーブルの概要 ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布されなければ い けません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA POSTMAP(1)