doc/documentation/manual-pages/ja/man5/hosts_options.5
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of
our new website and documentation using
the new toolchain with Hugo and AsciiDoctor.

To get more information about the new toolchain
please read the FreeBSD Documentation Project Primer[1],
Hugo docs[2] and AsciiDoctor docs[3].

Acknowledgment:
Benedict Reuschling <bcr@>
Glen Barber <gjb@>
Hiroki Sato <hrs@>
Li-Wen Hsu <lwhsu@>
Sean Chittenden <seanc@>
The FreeBSD Foundation

[1] https://docs.FreeBSD.org/en/books/fdp-primer/
[2] https://gohugo.io/documentation/
[3] https://docs.asciidoctor.org/home/

Approved by:    doceng, core
2021-01-26 00:31:29 +01:00

187 lines
6.5 KiB
Groff

.\" $FreeBSD$
.\" 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