inetd.conf File Format for TCP/IP

目的

inetd デーモンがインターネット・サービス要求を処理する方法を定義します。

説明

/etc/inetd.conf ファイルは、 inetd デーモンのデフォルト構成ファイルです。 このファイルを使用すると、デフォルトで開始するデーモンを指定し、各デーモンに必要な機能スタイルに対応する引数を指定することができます。 このファイルは、ネットワーク・サポート機能の TCP/IP の一部です。

ファイル /etc/inetd.conf を変更した場合は、 inetd デーモンに設定ファイルの変更を通知するために、 `refresh -s inetd ` または `kill inetdInetdPID-1 ` コマンドを実行してください。 この inetd.conf ファイルは、デフォルトで起動するデーモンを指定し、各デーモンの動作様式を決定する引数を供給します。

以下のデーモンは、 inetd デーモンによって制御されます。

ftpdrlogindrexecdrshdtalkdtelnetduucpd の各デーモンは、デフォルトで始動します。 tftpdfingerdcomsat の各デーモンは、 デフォルトでは始動しません。始動するには、/etc/inetd.conf ファイルのコメントを外します。

サービス要求

以下のインターネット・サービス要求は、 inetd デーモンによって内部的にサポートされ、通常はデバッグに使用されます。

項目 説明
ECHO データ・パケットをクライアント・ホストに戻します。
DISCARD 受け取ったデータ・パケットを破棄します。
文字 受け取ったデータ・パケットを破棄して、定義済みデータかランダム・データを送ります。
時刻 現在の日付および時刻をユーザー可読形式で送ります。
TIME 現在の日付および時刻を機械可読形式で送ります。

inetd デーモンは、 inetd デーモンの起動時、 inetd デーモンが SIGHUP シグナルを受信した時、またはSRC refresh -s inetd コマンドが入力された時にのみ設定ファイルを読み込みます。 inetd 構成ファイル内の各行は、1 つのインターネット・サービス要求のみを処理する方法を定義します。

各行の形式は次のとおりです。

ServiceName  SocketType  ProtocolName Wait/NoWait  UserName ServerPath ServerArgs

これらのフィールドはスペースまたはタブで区切る必要があり、以下の意味があります。

項目 説明
ServiceName etc/services ファイルで定義されているインターネット・サービスの名前が入っています。 inetd デーモンによって内部的に提供されるサービスの場合、この名前はサービスの正式な名前でなければなりません。 つまり、この名前は、 /etc/services ファイル内のサービスを記述する行の最初の項目と同じでなければなりません。
SocketType サービスに使用されるソケットのタイプの名前が入っています。 SocketType パラメーターに指定できる値は、以下のとおりです。
stream
サービスにストリーム・ソケットを使用することを指定します。
dgram
データグラム・ソケットがサービスに使用されることを指定します。
sunrpc_tcp
ストリーム接続を介して、サービスに対して Sun リモート・プロシージャー・コール (RPC) ソケットが使用されることを指定します。
sunrpc_udp
Sun RPC ソケットが、データグラム接続を介してサービスに使用されることを指定します。
ProtocolName /etc/protocols ファイルで定義されたインターネット・プロトコルの名前が含まれます。 たとえば、TCP/IPを使用するサービスには tcp 値を、ユニバーサルデータプロトコル User Datagram Protocol (UDP)を使用するサービスには udp 値を使用します。
Wait/NoWait/SRC データグラム・ソケットの場合は waitnowait、または SRC 命令、ストリーム・ソケットの場合は nowait 命令のいずれかが入っています。 この Wait/NoWait/SRC フィールドは、inetd デーモンがソケットでのリスニングを継続する前に、データグラムサーバーがソケットを解放するのを待機するかどうかを決定します。 SRC 命令は、wait のように機能しますが、fork して子が死ぬのを待つのではなく、サブシステム上で startsrc を実行し、サービスの開始に関する情報を保管します。 サービスが inetd.conf ファイルから除去され、 inetd が再始動されると、サービスはそのサービスを停止するために stopsrc を発行します。 wait または nowaitの後に | DEBUG[=level] を指定すると、このサービスに対して SO_DEBUG ソケット・デバッグ・フラグがオンになります。 level が指定されている場合、トレース・レベルは指定されたレベルに設定されます。それ以外の場合、レベルは normalに設定されます。 level の有効な値は、 minnormal、または detailです。
UserName inetd デーモンがサーバーを始動するために使用するユーザー名を指定します。 この変数を使用すると、root ユーザーよりも少ない許可をサーバーに与えることができます。
ServerPath サービスを提供するために inetd デーモンが実行する必要があるサーバーの絶対パス名を指定します。 inetd デーモンが内部で提供するサービスの場合、このフィールドは内部でなければなりません。
ServerArgs inetd デーモンがサーバーを実行するために使用するコマンド行引数を指定します。 引数の最大数は 5 です。 最初の引数は、使用されるサーバーの名前を指定します。 SocketType パラメーターが sunrpc_tcp または sunrpc_udpの場合、2 番目の引数はプログラム名を指定し、3 番目の引数はプログラムのバージョンを指定します。 inetd デーモンが内部で提供するサービスの場合、このフィールドは空でなければなりません。

以下は、以下のような inetd デーモンの /etc/inetd.conf ファイル内のエントリーの例です。

  • ftp 要求を処理するために ftpd デーモンを使用します。
  • ntalk 要求に talkd デーモンを使用します。
  • telnet 要求に telnetd デーモンを使用し、このサービスに使用されるソケットに SO_DEBUG フラグを設定し、これらのソケットのトレース・レベルを normal に設定します。
  • 内部で時間要求を提供します。
    ftp;stream tcp nowait root /usr/sbin/ftpd ftpd
    ntalk dgram udp wait root /usr/sbin/talkd talkd
    telnet stream tcp6 nowait|DEBUG root /usr/sbin/telnetd telnetd -a
    time stream tcp nowait root internal
    time dgram udp wait  root internal

ファイル

項目 説明
その他のサービス インターネット・サービスに使われるソケットとプロトコルを定義します。
/etc/protocols ローカル・ホストで使用されるインターネット・プロトコルを定義します。