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