OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / netkit / release / man8 / inetd.8
1 .\" Copyright (c) 1985, 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     from: @(#)inetd.8       6.7 (Berkeley) 3/16/91
33 .\"     $Id: inetd.8,v 1.1.1.1 2000/10/19 08:22:16 ysato Exp $
34 .\" jpman %Id: inetd.8,v 1.2 1997/05/16 07:22:24 yugawa Stab %
35 .\"
36 .\" Modified for JM style on Tue Dec 14 18:07:00 JST 1999
37 .\"     by Tatsuo SEKINE <tsekine@isoternet.org>
38 .\" Update and Modified on Tue Mar 13 21:08:37 JST 2001
39 .\"     by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
40 .\"
41 .\"WORD: socket listen queue    ソケット監視キュー
42 .\"WORD: suffix         サフィックス
43 .\"WORD: group id       グループ ID
44 .\"
45 .Dd August 22, 1999
46 .Dt INETD 8
47 .Os "Linux NetKit (0.17)"
48 .Sh 名前
49 .Nm inetd
50 .Nd インターネット
51 .Dq スーパーサーバー
52 .Sh 書式
53 .Nm inetd
54 .Op Fl di
55 .Op Fl q Ar queuelength
56 .Op Ar configuration file
57 .Sh 説明
58 .Nm inetd
59 は通常ブート時に
60 .Pa /etc/rc.local
61 によって起動される
62 .Ns ( Xr rc 8
63 を参照)。(訳注: ディストリビューションによって異なる)。
64 使用している
65 .Xr init 8
66 が任意のデーモンを再起動できる場合、
67 .Nm inetd
68 は (/etc/rc.local ではなく) init から実行できる。
69 そうすれば、クラッシュした場合に再起動できる。
70 この場合は
71 .Nm inetd
72 が自身をバックグラウンドに送るのを防ぐために
73 .Fl i
74 オプションを使わなければならない。
75 さもないと init は混乱してしまう。
76 .Pp
77 実行されている間
78 .Nm inetd 
79 は定められたインターネットソケットを監視し、接続要求を待つ。
80 監視しているソケットに対して接続要求が出されると、
81 そのソケットに対応したサービスを判定し、
82 サービスを提供するプログラムを起動する。
83 サービスプログラムが完了すると、
84 .Nm inetd
85 は再びソケットの監視を行なう。
86 後述するような例外もある。
87 .Nm inetd
88 を用いれば 1 つのデーモンで
89 複数のサービスプログラムを起動することができるので、
90 システムの負荷を軽減することができる。
91 .Ss オプション
92 .Nm inetd
93 に指定できるオプションを示す:
94 .Bl -tag -width Ds
95 .It Fl d
96 いくつかのデバッグを有効にして、
97 inetd をデバッガから実行されたように動作させる。
98 暗黙のうちに
99 .Fl i
100 も指定される。
101 .It Fl i
102 バックグラウンドにしない。
103 .Xr init 8
104 から実行するためにある。
105 .It Fl q Ar queuelength
106 ソケットの監視キューの大きさを指定された値に設定する。
107 デフォルトは 128。
108 .El
109 .Ss 設定
110 .Nm inetd
111 は実行時に設定情報を設定ファイルから読み込む。
112 デフォルトでは設定ファイルは
113 .Pa /etc/inetd.conf
114 である。
115 設定ファイルの各フィールドにはエントリが 1 つなければならない。
116 各フィールドのエントリはタブやスペースで区切る。
117 コメントは行頭に ``#'' をつける。
118 設定ファイルのフィールドは次の通り:
119 .Pp
120 .Bd -unfilled -offset indent -compact
121 サービス名[@ホスト名]
122 ソケットタイプ
123 プロトコル
124 wait/nowait[.max]
125 ユーザー名[.グループ名]
126 サーバープログラム名
127 サーバープログラム引き数
128 .Ed
129 .Pp
130 .Em Sun-RPC
131 ベースのサービスを記述する場合には、次のエントリを記述する。
132 .Pp
133 .Bd -unfilled -offset indent -compact
134 サービス名/バージョン[@ホスト名]
135 ソケットタイプ
136 RPC/プロトコル
137 wait/nowait[.max]
138 ユーザー名[.グループ名]
139 サーバープログラム名
140 サーバープログラム引き数
141 .Ed
142 .Pp
143 .Em サービス名
144 のエントリには、
145 .Pa /etc/services
146 ファイルに記述されているサービス名が記述される。
147 .Dq 内部
148 サービス (後述) については、
149 名前としてそのサービスの公式名
150 (すなわち
151 .Pa /etc/services
152 内の最初のエントリ) を指定
153 .Em しなければならない。
154 .Em Sun-RPC
155 ベースのサービスを指定するためには、このフィールドは
156 .Pa /etc/rpc
157 に書かれた有効な RPC サービス名でなければならない。
158 .Dq /
159 の右の部分が RPC のバージョン番号である。
160 バージョン番号は、数字もしくは、バージョンの範囲 (レンジ) で指定する。
161 範囲を指定する場合は低い番号から高い番号を指定する。
162 たとえば
163 .Dq rusers/1-3
164 のように記述する。
165 .Pp
166 サービス名に
167 .Em @hostname
168 という形式の文字列が追加された場合、
169 inetd は
170 .Em hostname
171 に対応する特定の IP アドレスからの接続についてのみ、
172 サービスポートをバインドさせる (全てのアドレスからの接続は listen しない)。
173 異なるアドレスに対して使用したいだけ指定できるので、
174 ``仮想ホスト''サービスを設定できる。
175 望むだけの数の特定のアドレスを監視できるが、
176 カーネルによる制限によって、
177 .Nm inetd
178 がそのポートを特定のアドレスに対して (あるいは同時に一般のアドレスに対して)
179 監視するのが禁止されることもある。
180 .Em hostname
181 はローカルシステムのインターフェースに関連づけられた、
182 解決可能なホスト名または IP アドレスにすべきである。
183 .Pp
184 .Em ソケットタイプ
185 のエントリは、
186 .Dq stream ,
187 .Dq dgram ,
188 .Dq raw ,
189 .Dq rdm ,
190 .Dq seqpacket
191 のいずれかで、それぞれソケットが
192 stream, datagram, raw, reliably delivered message, sequenced packet socket
193 である場合に対応している。
194 .Pp
195 .Em プロトコル
196 のエントリには、
197 .Pa /etc/protocols
198 に記述されている有効なプロトコル名が記述される。
199 例えば
200 .Dq tcp
201
202 .Dq udp
203 などである。
204 RPC ベースのサービスの場合、
205 .Dq rpc/tcp
206
207 .Dq rpc/udp 
208 のような指定になる。
209 .Pp
210 .Em wait/nowait
211 エントリは、datagram ソケットにのみ適用できる
212 (その他のソケットでは、この場所は
213 .Dq nowait
214 でなければならない)。
215 もし datagram サーバーが相手に接続したときにソケットを解放するなら、
216 .Nm inetd
217 はソケットに対するメッセージをさらに受けることができる。
218 このようなサーバーは
219 .Dq マルチスレッド
220 サーバーと呼ばれ、
221 .Dq nowait
222 エントリを指定しなければならない。
223 入って来る全ての datagram を処理し、
224 時間切れまで動作する datagram サーバーは、
225 .Dq シングルスレッド
226 サーバーと呼ばれ、
227 .Dq wait
228 エントリを指定しなければならない。
229 .Xr comsat 8 ,
230 .Pq Xr biff 1 ,
231 .Xr talkd 8
232 は後者のタイプの datagram サーバーの例である。
233 .Xr tftpd 8
234 は例外である; これは疑似接続を確立する datagram サーバーである。
235 競合を避けるために
236 .Dq wait
237 が指定されなければならない;
238 サーバーは最初のパケットを読み込み、新たなソケットを作成し、
239 .Nm inetd
240 が新たなサーバーを起動するような接続要求をチェックできるように、
241 fork して終了する。
242 オプションのサフィックス (接尾辞) 
243 .Dq max
244 .Ns ( Dq wait
245 または
246 .Dq nowait
247 からドット``.''で分けられる) は、60 秒の間に最大いくつのサーバーが
248 .Nm inetd
249 から起動できるかを指定する。
250 省略された場合の、
251 .Dq max
252 のデフォルトは 40 である。
253 .Pp
254 .Em user
255 エントリには、サーバーを実行するユーザー名を書く。
256 これによりサーバーを root よりも低い権限で実行できる。
257 ユーザー名に続いてドット``.'' を付加して、
258 その後ろにグループ名を指定することができる。
259 これによりサーバーを password ファイルで指定される
260 (プライマリの) グループ ID とは違うグループ ID で実行できる。
261 グループ名が指定され、ユーザーが root 以外だった場合は、
262 そのユーザの補助グループも (グループアクセスリストに) 設定されることになる。
263 .Pp
264 .Em サーバープログラム名
265 のエントリには、ソケットに要求があったとき
266 .Nm inetd
267 が起動し、当該エントリのサービスを提供する
268 サーバープログラムのパス名を指定する。
269 .Nm inetd
270 内にすでに実装されているサービスを提供する場合には、サーバープログラムとして
271 .Dq internal
272 を指定する。
273 .Pp
274 .Em サーバープログラム引数
275 のエントリには、サーバーを起動する際の引数を、
276 サーバープログラムの起動文字列である argv[0] を含めて記述する。
277 .Nm inetd
278 内に実装されているサービスを提供する場合には、サーバープログラム引数として
279 .Dq internal
280 を指定する。
281 .Ss 組み込み関数
282 .Nm inetd
283 は、内蔵ルーチンを用いて簡単なサービスを自身で提供する。
284 これらのサービスとは
285 .Dq echo ,
286 .Dq discard ,
287 .Dq chargen
288 (文字生成),
289 .Dq daytime
290 (人間が読む形式で時間を出力),
291 .Dq time
292 (機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力)
293 である。
294 これらのサービスは TCP ベースである。
295 これらのサービスの詳細については適切な
296 .Tn RFC
297 ドキュメントを参照のこと。
298 .Pp
299 .Dv SIGHUP
300 を受けとると、
301 .Nm inetd
302 は、設定ファイルを再度読み込む。
303 設定ファイルを再読み込みするときに、サービスを追加・削除・変更できる。
304 .Nm inetd
305 はファイル
306 .Pa /var/run/inetd.pid
307 を作成し、そこにプロセス ID を記録する。
308 .Sh 関連項目
309 .Xr comsat 8 ,
310 .Xr fingerd 8 ,
311 .Xr ftpd 8 ,
312 .Xr rexecd 8 ,
313 .Xr rlogind 8 ,
314 .Xr rshd 8 ,
315 .Xr telnetd 8 ,
316 .Xr tftpd 8
317 .Sh 履歴
318 .Nm
319 コマンドは
320 .Bx 4.3
321 から登場した。
322 .Em Sun-RPC
323 ベースのサービスのサポートは、
324 .Em SunOS 4.1
325 で提供されたものにならって作られた。