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)