LoginSignup
1
2

More than 1 year has passed since last update.

Linux inetd,xinetdについて

Posted at

●スーパーサーバ
「inetd」や「xinetd」はスーパーサーバと呼ばれ、登録された利用頻度の低いサービスを監視し、リクエストが来た場合にだけ、該当のサービスを実行。 これにより利用頻度の低いサービス(例えばTELNETやFTPなど)をシステムにデーモンとして常駐させる必要が無くなり、メモリやCPU等のリソースの消費を抑えられる。

●inetd
設定ファイルは「etc/inetd.conf」
アクセス制御はTCPラッパー「/etc/hosts.allow」、「/etc/hosts.deny」

・設定ファイル「etc/inetd.conf」の各項目内容

1、サービス 2、ソケットタイプ 3、プロトコル 4、ウエイト 5、ユーザー名 6、プログラム(デーモン)のパス 7、プログラム(デーモン)名と引数

行の先頭に#を入れる事で、その行をコメントアウトし、「inetd」で該当のサービスを起動しないように出来る。

■「/etc/inetd.conf」ファイルの変更後はinetdを再起動する必要がある。

inetdの再起動には、killまたはkillallコマンドでinetdにHUP(SIGHUP)シグナルを送る、inetdの起動スクリプト(/etc/init.d/inetd)に引数restartを付けて実行するなどの方法がある。

・kill -HUP inetdのPID
・killall -HUP inetd
・/etc/init.d/inetd restart

●xinetd
「xinetd」は「inetd」より新しいスーパーサーバで、サービス毎に詳細な設定が可能。
xinetdの全体的な設定は「/etc/xinetd.conf」ファイルで行い、各サービスの個別設定は「/etc/xinetd.d/」ディレクトリ内の設定ファイルで行う。
各サービスの個別設定ファイルを配置するディレクトリは、「/etc/xinetd.conf」の「includedir」で指定。

xinetdの主な設定項目
・bindまたはinterface サービスを提供するインターフェイスのIPアドレス
・disable サービスを無効化するかの設定(yes:無効化,no:有効化)
・instances サーバプログラムの最大起動プロセス数
・log_type ログの記録先指定。syslogや記録するログファイルの絶対パスを指定
・no_access サービスへのアクセスを拒否する接続元
・only_from サービスへのアクセスを許可する接続元
・server サーバプログラムの絶対パス
・server_args サーバプログラム起動時に指定する引数
・socket_type ストリーム型、データグラム型といったサービスの接続タイプ
・user サーバプログラムを起動するユーザ
・wait サーバプログラムへの接続処理を待ち合わせるかの設定。サーバプログラムがマルチステッドであり1プロセスで同時に複数処置できる場合はno、シングルスレッドで接続処理を待ち合わせる必要がある場合はyes

●xinetdによるアクセス制御のルール判定
・only_fromもno_accessも設定されていない場合、サービスへのアクセスは全て許可
・only_fromだけが設定されている場合、指定されたアクセス元しかサービスへアクセス出来ない
・no_accessだけが設定されている場合、指定されたアクセス元はサービスへアクセス出来ない
・only_fromとno_accessが同時に指定された場合、より厳密にマッチするほうに従う

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2