Provided by:
manpages-ja_0.5.0.0.20070415-1_all 
式
inetd [-di] [-q queuelength] [configuration file]
明
inetd は通常ブート時に /etc/rc.local によって起動される (rc(8)
を参照)。(訳注: ディストリビューションによって異なる)。 使用している
init(8) が任意のデーモンを再起動でい訃豺隋 inetd は (/etc/rc.local
ではなく) init から実行でい襦 そうすれば、クラッシュした場合に再起動で-
る。 この場合は inetd が自身をバックグラウンドに送るのを防ぐために -i
オプションを使わなければならない。 さもないと init は混乱してしまう。
実行されている間 inetd
は定められたインターネットソケットを監視し、接続要求を待つ。
監視しているソケットに対して接続要求が出されると、
そのソケットに対応したサービスを判定し、
サービスを提供するプログラムを起動する。 サービスプログラムが完了すると、
inetd は再びソケットの監視を行なう。 後述するような例外もある。 inetd
を用いれば 1 つのデーモンで 複数のサービスプログラムを起動することがで-
るので、 システムの負荷を軽減することがでい襦
inetd に指定でい襯プションを示す:
-d いくつかのデバッグを邑にして、 inetd
をデバッガから実行されたように動作させる。 暗黙のうちに -i
も指定される。
-i バックグラウンドにしない。 init(8) から実行するためにある。
-q queuelength
ソケットの監視ゥ紂爾梁腓さを指定された値に設定する。 デフォルトは
128。
定
inetd は実行時に設定情報を設定ファイルから読み込む。
デフォルトでは設定ファイルは /etc/inetd.conf である。
設定ファイルの各フィールドにはエントリが 1 つなければならない。
各フィールドのエントリはタブやスペースで区切る。 コメントは行頭に ``#''
をつける。 設定ファイルのフィールドは次の通り:
サービス名[@ホスト名]
ソケットタイプ
プロトコル
wait/nowait[.max]
ユーザー名[.グループ名]
サーバープログラム名
サーバープログラム引た
Sun-RPC ベースのサービスを欺劼垢訃豺腓砲蓮⊆,離┘鵐肇蠅魑述する。
サービス名/バージョン[@ホスト名]
ソケットタイプ
RPC/プロトコル
wait/nowait[.max]
ユーザー名[.グループ名]
サーバープログラム名
サーバープログラム引た
_のエントリには、 /etc/services ファイルに-
述されているサービス名が欺劼気譴襦 ``内部'' サービス (後述) については、
名前としてそのサービスの公式名 (すなわち /etc/services
内の最初のエントリ) を指定 _Sun-RPC
ベースのサービスを指定するためには、このフィールドは /etc/rpc
に書かれた邑な RPC サービス名でなければならない。 ``/'' の右の部分が RPC
のバージョン番号である。 バージョン番号は、数字もしくは、バージョンの範囲
(レンジ) で指定する。
範囲を指定する場合は低い番号から高い番号を指定する。 たとえば
``rusers/1-3'' のように欺劼垢襦
サービス名に @hostname という形式の文字列が追加された場合、 inetd は
hostname に対応する特定の IP アドレスからの接続についてのみ、
サービスポートをバインドさせる (全てのアドレスからの接続は listen
しない)。 異なるアドレスに対して使用したいだけ指定でい襪里如
``仮想ホスト''サービスを設定でい襦
望むだけの数の特定のアドレスを監視でい襪、 カーネルによる制限によって、
inetd がそのポートを特定のアドレスに対して
(あるいは同時に一般のアドレスに対して) 監視するのが禁止されることもある。
hostname はローカルシステムのインターフェースに関連づけられた、
解決可能なホスト名または IP アドレスにすべい任△襦
_のエントリは、 ``stream'', ``dgram'', ``raw'', ``rdm'',
``seqpacket'' のいずれかで、それぞれソケットが stream, datagram, raw,
reliably delivered message, sequenced packet socket
である場合に対応している。
_のエントリには、 /etc/protocols に欺劼気譴討い詬-
効なプロトコル名が欺劼気譴襦 例えば ``tcp'' や ``udp'' などである。 RPC
ベースのサービスの場合、 ``rpc/tcp'' や ``rpc/udp'' のような指定になる。
wait/nowait エントリは、datagram ソケットにのみ適用でい
(その他のソケットでは、この場所は ``nowait'' でなければならない)。 もし
datagram サーバーが相手に接続したとい縫愁吋奪箸魏鯤するなら、 inetd
はソケットに対するメッセージをさらに受けることがでい襦
このようなサーバーは ``マルチスレッド'' サーバーと呼ばれ、 ``nowait''
エントリを指定しなければならない。 入って来る全ての datagram を処理し、
時間切れまで動作する datagram サーバーは、 ``シングルスレッド''
サーバーと呼ばれ、 ``wait'' エントリを指定しなければならない。 comsat(8),
(biff(1)), talkd(8) は後者のタイプの datagram サーバーの例である。
tftpd(8) は例外である; これは疑似接続を確立する datagram サーバーである。
競合を避けるために ``wait'' が指定されなければならない;
サーバーは最初のパケットを読み込み、新たなソケットを作成し、 inetd
が新たなサーバーを起動するような接続要求をチェックでい襪茲Δ法 fork
して終了する。 オプションのサフィックス (接尾) ``max'' (``wait'' または
``nowait'' からドット``.''で分けられる) は、60
秒の間に最大いくつのサーバーが inetd から起動でい襪を指定する。
省略された場合の、 ``max'' のデフォルトは 40 である。
user エントリには、サーバーを実行するユーザー名を書く。
これによりサーバーを root よりも低い権限で実行でい襦
ユーザー名に続いてドット``.'' を付加して、
その後ろにグループ名を指定することがでい襦 これによりサーバーを password
ファイルで指定される (プライマリの) グループ ID とは違うグループ ID
で実行でい襦 グループ名が指定され、ユーザーが root 以外だった場合は、
そのユーザの補助グループも (グループアクセスリストに)
設定されることになる。
_のエントリには、ソケットに要求があったと inetd
が起動し、当該エントリのサービスを提供する
サーバープログラムのパス名を指定する。 inetd
内にすでに実装されているサービスを提供する場合には、サーバープログラムとして
``internal'' を指定する。
_のエントリには、サーバーを起動する際の引数を、
サーバープログラムの起動文字列である argv[0] を含めて欺劼垢襦 inetd
内に実装されているサービスを提供する場合には、サーバープログラム引数として
``internal'' を指定する。
inetd は、内蔵ルーチンを用いて簡単なサービスを自身で提供する。
これらのサービスとは ``echo'', ``discard'', ``chargen'' (文字生成),
``daytime'' (人間が読む形式で時間を出力), ``time''
(機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力) である。
これらのサービスは TCP ベースである。
これらのサービスの詳細については適切な RFC ドゥ絅瓮鵐箸鮖仮箸里海函
SIGHUP を受けとると、 inetd は、設定ファイルを再度読み込む。
設定ファイルを再読み込みするとい法▲機璽咼垢鯆媛叩削除・変更でい襦
inetd はファイル /var/run/inetd.pid を作成し、そこにプロセス ID を-
録する。
comsat(8), fingerd(8), ftpd(8), rexecd(8), rlogind(8), rshd(8),
telnetd(8), tftpd(8)
inetd コマンドは 4.3BSD から登場した。 Sun-RPC
ベースのサービスのサポートは、 SunOS 4.1
で提供されたものにならって作られた。