Tips記事
» 2001年04月25日 00時00分 UPDATE

Xinetdの使い方を知りたい

[木田佳克,ITmedia]

 Red Hat Linuxではディストリビュートバージョン「7」になってから,inetdではなくXinetdが採用されるようになった。もちろんinetdをインストールして利用することもできるが,7の持ち味として,Xinetdも使いこなしてみたい。

 またXinetdであれば,ドメイン,IPアドレス,時間帯など,従来まではTCP Wrapperでアクセス制限を行っていたものをカバーした設定が可能になる。イメージとしては,inetd+TCP WrapperがXinetdであると考えればよいだろう。

 inetdでは1つのファイル「/etc/inetd.conf」で設定を行っていたが,Xinetdでは「/etc/xinetd.conf」ファイルを始め「/etc/xinetd.d」ディレクトリ下のファイルで設定を行う。

s ここでは,wu-ftpdの設定例を挙げよう。インストール直後のwu-ftpd設定ファイル「/etc/xinetd.d/wu-ftpd」には次のように記述されている。

service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l -a
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
}

 それぞれの構文指定は次の通りだ。

 Xinetdで利用されるパラメータ
パラメータ 内    容
service サービス名
disable サービスのオンオフ
socket_type 通常はstreamでよい
wait ウェイト状態
user サービスを実行するユーザー権限
server サービスを実行するスクリプトなど
server_args 起動パラメータ
log_on_success ログイン成立時にログファイルに記録するフォーマット。DURATIONは接続期間を指す
log_on_failure ログイン身成立時にログファイルに記録するフォーマット。USERIDだけだとユーザー名だけが記録される
nice 実行時のプロセス優先度
only_from 「= 192.168.0.0/255.255.255.0」などと指定すればLANからのアクセスに限定できる。ドメイン名による指定も可能だ
no_access IPアドレスやドメイン名を指定すると記述したホストからのアクセスを拒否する
access_times 例えば「= 13:00-23:00」と指定すれば13〜23時のみアクセス許可される

 xinetd.confから「/etc/xinetd.d」ディレクトリ下の設定ファイルへ分岐指定することも可能だが,以上のような「service」から始まる行を直接「xinetd.conf」ファイルに記述しても構わない。最初はこの方法で行って,設定が複雑になってきたら別ファイルとして「/etc/xinetd.d」ディレクトリ下に分散させるのもよいだろう。

 なおxinetd.confの中で次のように「includedir」として設定されているのがサブ設定ファイルの参照先となる。ここでの「defaults」指定は,ほかのサービス指定で定義されない基本となる設定を定義しておく個所だ。

defaults
{
  instances = 60
  log_type = SYSLOG authpriv
  log_on_success = HOST PID
  log_on_failure = HOST RECORD
}
includedir /etc/xinetd.d

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ