xinetd(8) 拡張されたインターネットサービスデーモン

書式

xinetd [options]

説明

xinetd は、inetdと同じ機能を提供する。 すなわち、インターネットサービスを提供するプログラムを起動させる。 インターネットサーバがシステムの初期化時に起動し、接続要求があるまで 休眠する代わりに、xinetd はデーモンプロセスのみを起動させ、 設定ファイルに記載された全てのサービスに対応したポートをリッスンする。 (リッスンしているポートの一つに)要求があったときに、 xinetd は適切なサーバを起動する。このような管理を行う事から、 xinetd は(inetd と同様に) スーパーサーバとも呼ばれる。

xinetd の設定ファイルに記載されたサービスは、2つのグループに 分けられる。1つ目は マルチスレッド と呼ばれ、新しい接続要求がある度に新しいサーバプロセスをフォークする 必要がある。新しいサーバが新しい接続を処理する。 このようなサービスの場合、新しいサーバーをつくる事ができるように xinetd は新しい要求をリッスンしつづける。 一方、2つ目のグループは、一つのサービスデーモンがすべての新しい 接続要求を処理する。このようなサービスは シングルスレッド と呼ばれ、xinetd はサーバが終了するまで新しい要求の受付を中断する。 このグループのサービスは通常データグラム上のものである。

今までは、スーパーサーバの存在理由は、ほとんどの生存時間を休眠している 多くのプロセスによるシステムリソースのフォークを避けて節約することにあった。 xinetd はこの機能を満たすだけでなく、スーパーサーバの概念を利用し、 アクセスコントロールやログ等の機能を提供する。さらにその上、 xinetd/etc/services に記載されているサービスに制限されない。 したがって、だれでも特殊な目的のサービスを起動させるために xinetd を利用できる。

オプション

-d
デバッグモード。これは、多くのデバッグ出力を行なう。xinetd 上で デバッガを使用可能にする。
-syslog syslog_facility
このオプションは指定された syslog 機能分類(facility)を利用して、 xinetdからの出力を syslog で記録する。 以下の機能分類がサポートされている。 daemon, auth, user, local[0-7] (それぞれの意味はsyslog.conf(5) で確認のこと)。 このオプションは、デバッグモードでは無効である。 デバッグモードでは、すべての関連するメッセージは端末に送られる。
-filelog logfile
xinetdからの出力は指定されたファイルに保存される。 出力は終始ファイルに追加される。 (指定された名前の)ファイルが存在しない場合は、新しく作成される。 このオプションは、デバッグモードでは無効である。 デバッグモードでは、すべての関連するメッセージは端末に送られる。
-f config_file
xinetd が設定に使用するファイルを指定する。デフォルトでは /etc/xinetd.conf が使用される。
-pidfile pid_file
プロセス ID はファイルに記述される。このオプションは、デバッグモードでは 無効である。
-stayalive
サービスが一つも指定されていなくても、xinetd に動作しつづけるよう命令する。
-limit proc_limit
このオプションは xinetd が、同時に動作させられるプロセス数の上限を定める。 プロセステーブルのオーバーフローを防止する目的がある。
-logprocs limit
このオプションはリモートのユーザ ID 取得の為に動作させるサーバ数の、 同時に動作する上限を定める。
-version
xinetd にバージョン情報を表示させる。
-inetd_compat
標準的な xinetd の設定ファイルに加え、 /etc/inetd.conf も追加で読み込むようにする。 /etc/inetd.conf は標準的な xinetd の設定ファイルの後に読み込まれる。
-cc interval
このオプションは xinetd の内部状態の定期的な整合性チェックを interval 秒毎に 行なう。

syslogfilelogオプションは相互に排他的である。 どちらも設定されていない場合、デフォルトではsyslogの機能分類 daemon を利用する。 xinetd のメッセージと、関連するサービスによるメッセージを混同しないよう 気をつけること。後者は設定ファイルによって指定された場合にのみログが残る。

XINETD の制御

xinetd は一定のシグナルを受け取った時に、一定の動作をする。 特定のシグナルに関連した動作は、config.hを変更し、リコンパイル する事で再定義できる。

SIGHUP
SIGHUP は再設定を行なわせる。これは、設定ファイルを再読み込みし、 使用可能でなくなったサービスのサーバを停止する。 実行中のサーバに対しては、再びアクセスコントロールがなされ、 接続元、アクセス時間、サーバの実行数がチェックされる。 サーバ実行数の制限値が低くなった場合には、制限を満たすためにいくつかの 任意のサーバが killされる。 これは、接続元・アクセス時間のチェックに失敗したサーバを 終了させた後に行われる。 また、 INTERCEPT フラグが新規に設定された場合、そのサービスのために動作中のサーバは すべて停止される。 この目的は、再設定の後に、アクセス制御基準に合わないアドレスからの パケットを受け取る事が可能な動作中のサーバがないことを確実にするため である
SIGQUIT
はプログラムを終了させる。
SIGTERM
xinetdを終了する前にすべての起動しているサーバを終了する。
SIGUSR1
は内部状態をダンプさせる(デフォルトのダンプファイルは /tmp/xinetd.dump であり、ファイル名を変更したい場合には、config.h の内容を 変更し、再コンパイルする)。
SIGIOT
はプログラムが利用しているデータ構造に問題がないかを確認するために 内部の一貫性チェックを行なわせる。 チェックが終了すると、 xinetd は、チェックが成功したかあるいは失敗したかのメッセージを出力する。

再設定時、ログファイルは一旦閉じられ、再び開かれる。これは古いログファ イルの削除を許可する。

関連ファイル

/etc/xinetd.conf
デフォルト設定ファイル
/var/run/xinetd.dump
デフォルトダンプファイル

作者

Panos Tsirigotis, CS Dept, University of Colorado, Boulder Rob Braun

発音

zy-net-d (訳注: ザイ-ネット-ディー)