日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
HOSTS_OPTIONS(5) HOSTS_OPTIONS(5)
名称
hosts_options - ホストアクセス制御言語の拡張
解説
こ の文書は、hosts_access(5) 文書で解説した言語に対するオプション拡張を
解説します。この拡張は、プログラム構築時に有効にされます。例えば、Make
file を編集し、コンパイル時オプション PROCESS_OPTIONS を有効にします。
この拡張可能な言語は、次の書式を使用します。
daemon_list : client_list : option : option ...
最初の 2 つのフィールドは、hosts_access(5) マニュアルページで解説してい
ます。ルールの残りは、0 個以上のオプションです。オプション中の ":" 文字
は、バックスラッシュで保護する必要があります。
オ プ ションの形式は、"keyword" または "keyword value" です。オプション
は、指定した順番で処理されます。オプションによっては、%<letter> 置換 の
対 象 と な ります。以前のバージョンとの後方互換性のために、 keyword と
value の間に "=" を入れることが許されています。
記録
severity mail.info
severity notice
どの重要度のイベントを記録するかを変更します。ファ シ リ ティ 名
(mail など) はオプションです。これは、古い syslog の実装のシステ
ムでは、サポートされていないでしょう。固有のイベントを強調したり
無視したりするために、 severity オプションを使用します。
アクセス制御
allow
deny サービスを許可 (拒否) します。これらのオプションは、ルールの最後
に登場する必要があります。
allow と deny のキーワードにより、すべてのアクセス制御ルールを 単 一 の
ファイルに、例えば hosts.allow ファイルに、置くことが可能となります。
特定のホストだけからのアクセスを許可するには、次のようにします。
ALL: .friendly.domain: ALLOW
ALL: ALL: DENY
少 数のトラブルメーカ以外からのアクセスをすべて許可するには、次のように
します。
ALL: .bad.domain: DENY
ALL: ALL: ALLOW
ドメイン名のパターンの前のドットに注意してください。
他のコマンドの実行
spawn shell_command
hosts_access(5) マニュアルページで解説される %<letter> 展 開 を
行った後、指定したシェルコマンドを子プロセスで実行します。コマン
ドの実行は stdin, stdout, stderr を null デバイスに接続して行 わ
れ ま すので、クライアントホストとの会話が混乱することはありませ
ん。例えば、
spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) &
は、%h をリモートホストの名前またはアドレスに置換した後、シェ ル
コマンド "safe_finger -l @%h | mail root" を、バックグラウンドの
子プロセスで実行します。
この例では、通常の "finger" コマンドではなく、 "safe_finger" コ
マ ン ドを使用しています。これにより、 finger サーバから送られる
データに起因して発生し得るダメージを限定しま す。 "safe_finger"
コ マ ンドは、デーモンラッパパッケージの一部です。これは、通常の
finger コマンドを包んで、リモートホストから送られるデータを フィ
ルタします。
twist shell_command
hosts_access(5) マ ニュアルページで解説される %<letter> 展開を
行った後、現在のプロセスを、指定したシェルコマンドで置き換 え ま
す。 stdin, stdout, stderr は クライアントプロセスに接続されま
す。このオプションは、ルールの最後に登場する必要があります。
実際に ftp デーモンを実行する代わりに、カスタマイ ズ し た 中 継
(bounce) メッセージを送るには、次のようにします:
in.ftpd : ... : twist /bin/echo 421 Some bounce message
ク ラ イアントプロセスと対話する別の方法としては、後述の banners
オプションを参照してください。
コマンドライン 配 列 や プ ロ セ ス の 環 境 を 汚 染 せ ず に、
/some/other/in.telnetd を実行するには、次のようにします:
in.telnetd : ... : twist PATH=/some/other; exec in.telnetd
警 告: UDP サービスでは、標準 I/O や read(2)/write(2) ルーチンを
使用してクライアントプロセスと通信するプログラムを、twist の対象
としてはなりません。 UDP では、他の I/O プリミティブを必要とする
からです。
ネットワークオプション
keepalive
サーバがクライアントに対して定期的にメッセージを送るように し ま
す。クライアントが応答しないとき、接続が断たれたものとみなされま
す。ユーザが、サーバに接続したままマシンの電源を落 す 場 合 に、
keepalive オプションが有用です。 keepalive オプションは、データ
グラム (UDP) サービスには使えません。
linger number_of_seconds
サーバプロセスが接続を閉じた後のどれだけの期間、未配送のデータを
カーネルが配送しようとするかを指定します。
ユーザ名検索
rfc931 [ timeout_in_seconds ]
RFC 931 (TAP, IDENT, RFC 1413) を使用して、クライアントのユーザ
名を検索します。サービスが TCP 以外の配送をベースにしている場 合
には、このオプションはとくに断りなく無視されます。このオプション
を指定することにより、クライアントシステムが RFC 931 (IDENT な
ど) 準拠のデーモンを実行することを必要とし、非 UNIX クライアント
からの接続に対しては大きな遅延を生じさせ得ます。タイムアウト期間
の指定は、省略可能です。タイムアウト値を指定しないと、コンパイル
時に定義されたデフォルト値が使用されます。
その他
banners /some/directory
`/some/directory' 内で、デーモンプロセスと同じ名前のファイルを探
し (例えば telnet サービスでは in.telnetd です)、その内容をクラ
イアントに対してコピーします。改行文字は復改と改行へ置換 さ れ、
%<letter> シーケンスは展開されます (hosts_access(5) マニュアル
ページを参照してください)。
tcp ラッパのソースコード配布では、 banners の管理に有用なサン プ
ル makefile (Banners.Makefile) を提供しています。
警 告: banners は、コネクション指向 (TCP) ネットワークサービスの
みでサポートされます。
nice [ number ]
プロセスの nice 値 (デフォルトは 10 です) を変更します。他のプロ
セスにより多くの CPU 資源を使うには、正の値を指定してください。
setenv name value
(name, value) のペアを、プロセスの環境に挿入します。 value は
%<letter> 展開の対象となり、空白文字を含んでもかまいません (先頭
と末尾の空白は取り除かれます)。
警 告: 多くのネットワークデーモンは、 login やシェルプロセスを生
成する前に、自己の環境をリセットします。
umask 022
シェル組み込みの umask コマンドに似ています。 022 とい う umask
は、グループおよび全世界の書き込み権限を持つファイルの生成を防ぎ
ます。 umask 引数は 8 進数である必要があります。
user nobody
user nobody.kmem
"nobody" のユーザ id (またはユーザ "nobody" でグルー プ "kmem")
の権限をプロセスに設定します。最初の形式は、全サービスを root 権
限で実行する inetd の実装において有用です。 2 番目の形式は、特殊
なグループ権限のみを必要とするサービスに有用です。
診断
ア クセス制御ルールに文法エラーがあるとき、エラーは syslog デーモンに報
告されます。このとき、その後のオプションは無視され、サービスは拒否さ れ
ます。
関連項目
hosts_access(5), デフォルトのアクセス制御言語
作者
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
HOSTS_OPTIONS(5)