Provided by: manpages-ja_0.5.0.0.20180315+dfsg-1_all
NAME
hosts_options - ホストアクセスコントロールの拡張書式
DESCRIPTION
この文書は、hosts_access(5) で説明する文法のオプショナルな拡張に ついて解説するものであ る。この拡張は、プログラムをコンパイルした 際に利用の可否が決まる。例えば、Makefile を編集 し、コンパイル時 に PROCESS_OPTIONS を有効にした場合である。 拡張書式はこのような形式である: daemon_list : client_list : option : option ... 最初のふたつのフィールドについては、hosts_access(5) のマニュアル で解説されている。ルール の残りの部分は、0 個以上のオプションの列 である。オプションの中では、すべての ":" という文 字はバックスラッ シュによって保護される必要がある。 オプションは "keyword" または "keyword value" の形式をとる。オプ ション群は記述された順に 解釈される。いくつかのオプションは %<letter> による置き換えを仮定している。初期のバージョ ンとの互換 性のために、"=" を keyword と value(値) の間におく事も許されてい る。
LOGGING (ログの記録)
severity mail.info severity notice イベントをログに記録する severity("激しさ") のレベルを変更する。 Facility names (供 される利便の項目、たとえば mail) は任意であり、 古い syslog の実装ではサポートされ ていない。severity オプション は、指示されたイベントを強調するか、あるいは無視する ために有意で ある。
ACCESS CONTROL (アクセスの可否)
allow deny サービスの可否。これらのオプションは、ルールの最後に記述しなけれ ばならない。 allow と deny は、すべてのアクセスコントロールのルー ルを、ただひとつのファイル、たとえ ばhosts.allow に納める事 を可能にしている。 明示されたホストだけにアクセスを許可するには: ALL: .friendly.domain: ALLOW ALL: ALL: DENY トラブルメイカーとなる、いくつかのホストを除いて、すべてのホスト からのアクセスを許可する には: ALL: .bad.domain: DENY ALL: ALL: ALLOW ドメイン名のパターンの最初にはドットがついている事に注目されたい。
RUNNING OTHER COMMANDS (外部コマンドの実行)
spawn shell_command hosts_access(5) のマニュアルで解説される %<letter> の置き換えが 実行されたのち に、子プロセスで、指定のシェルコマンドを実行する。 コマンドは標準入力、標準出力、そ して標準エラー出力を null デバイ スに繋げた状態で実行される。したがって、これによっ てクライアント ホストとの会話が混乱するようなことはない。例えば: spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) & これは、%h を リモートホストの名前またはアドレスに置き換えたのち に、バックグラウン ドの子プロセスで、シェルコマンド "safe_finger -l @%h | mail root" を実行する。 この例では、(リモートの) finger サーバーから送られてくるデータに よって、ダメージが もたらされる可能性を抑えるため、標準の "finger" コマンドに代わって "safe_finger" コ マンドを利用している。 この "safe_finger" コマンドは、daemon wrapper package に含ま れて いる。これは、標準の finger の露払いとして、リモートホストから送 られるデータ をフィルタリングする。 twist shell_command hosts_access(5) のマニュアルで解説される %<letter> の置き換えが 実行されたのち に、現在のプロセスを、要求されたシェルコマンドで置 き換える。標準入力、標準出力そし て標準エラー出力は、クライアント のプロセスに接続される。このオプションはルールの最 後に記述する必 要がある。 実際の ftp デーモンに代わって、メッセージを変更してクライアント に返すには: in.ftpd : ... : twist /bin/echo 421 Some bounce message クライアントプロセスと会話する別の方法として、後述する banners オプションを参照され たい。 /some/other/in.telnetd を、コマンドラインの引数やプロセスの環境 変数によって汚染さ れることなく実行するには: in.telnetd : ... : twist PATH=/some/other; exec in.telnetd 警告: UDP サービスにおいては、standard I/O の利用、またはクライ アントプロセスとの 交信のための read(2)/write(2) ルーチンと、 command を混同しないように; UCP は、また 別の基本的な I/O を必要 とする。
NETWORK OPTIONS (ネットワークに関するオプション)
keepalive 定期的にサーバーはクライアントにメッセージを送るようになる。もし、 クライアントから の応答がない場合、接続は切断されたものと見なされ る。この keepalive オプション は、ユーザーがサーバーに継っている 間に、マシンの電源を切った時に有用であ る。keepalive オプションは datagram (UDP) services には役に立たない。 linger number_of_seconds サーバーのプロセスが接続を切断したのち、カーネルが未配送データの 再送を試みる時間を 指示する。
USERNAME LOOKUP (ユーザー名の問い合わせ)
rfc931 [ timeout_in_seconds ] RFC 931 (TAP, IDENT, RFC 1413) にしたがう形で、クライアントユー ザー名を問い合わせ る。サービスが TCP 以外の転送方法に基づいてい る場合は、このオプションは黙って無視 される。この方法はクライアン トのシステムが RFC 931 と互換性のあるデーモン (IDENT など) を走 らせていることが条件で、non-UNIX のクライアントからの接続に対し ては、著 しく遅くなるだろう。timeout までの秒数は任意である。 timeout が指示されない場合、コ ンパイル時に決められた初期値が使わ れる。
MISCELLANEOUS (その他の事項)
banners /some/directory `/some/directory' の中で、デーモンプロセスの名前と一致するファイ ル (たとえ ば、telnet サービスなら in.tenletd)を探し、その内容を クライアントに対してコピーす る。改行文字は、CR(carriage-return) 改行文字に置き換えられ、%<letter> は展開される (hosts_access(5) のマニュアルを参照)。 tcp wrapper の配布ソースには、手際よく banner を保守するための、 サンプルの makefile (Banners.Makefile) が含まれている。 警告: banners は connection-oriented (TCP) network (コネクション に指向の高いサービ ス)でのみ利用する事ができる。 nice [ number ] プロセスの nice 値を変更する(初期値は 10)。他のプロセスに、より 多くの CPU 資源を割 り当てるには、正の値を指示する。 setenv name value (name, value) のペアをプロセスの環境変数に設定する。value は %<letter> への展開があ るものと仮定され、ホワイトスペースの利用は 自制する必要があるだろう(ただし、前後の 空白は切り捨てられる)。 警告: 多くのネットワークデーモンは login または shell プロセスを 再起動する前に、そ の環境変数をリセットする。 umask 022 シェルのビルトインコマンド umask と似た機能。022 の umask は、 group と world によ る書き込み禁止措置によって、ファイルの作成を 予防する。umask の引数は 8 進数でなけ ればならない。 user nobody user nobody.kmem ユーザー "nobody" (またはユーザー "nobody", グループ "kmem")は、 特別な扱いとみな す。最初の形式は、root 権限で全てのサービスを実 行するような inetdの実装で有用であ る。二番目の形式は、グループの 権限のみが必要なサービスのために有用である。
DIAGNOSTICS
アクセスコントロールルールに文法エラーが発見された場合、エラーは syslog デーモンへ報告され る。余計なオプションは無視され、サービ スは拒否される。
SEE ALSO
hosts_access(5), 基本的なアクセスコントロール書式
AUTHOR
Wietse Venema (wietse@wzv.win.tue.nl) Department of Mathematics and Computing Science Eindhoven University of Technology Den Dolech 2, P.O. Box 513, 5600 MB Eindhoven, The Netherlands
翻訳者
FUKUSHIMA Osamu/福島於修 <fuku@amorph.rim.or.jp> HOSTS_OPTIONS(5)