xinetdとは? |
vsftpdをxinetd経由で起動する |
このページでは、vsftpdをxinetd経由で起動する方法の紹介をします。
先ず、vsftpdが起動している場合には停止します。また、自動で起動しないようにもしておきます。
# service vsftpd stop # chkconfig --level 345 vsftpd off |
次に、/etc/xinetd.d/以下にvsftpdというファイルを新規で作成し、以下のように記述します。
# vi /etc/xinetd.d/vsftpd service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd server_args = /etc/vsftpd/vsftpd.conf log_on_success += DURATION USERID log_on_failure += USERID nice = 10 } |
disableは、xinetd経由で起動させたい場合はnoにします。起動させたくない場合はyesにします。
socket_typeは、TCPサービスの場合はstreamを使用します。serverには、サーバ・プログラムを
絶対パスで指定します。server_argsには、vsftpdの設定ファイルを指定しました。これでvsftpdの
設定ファイルがそのまま引き継がれます。
途中で出てきた、サーバ・プログラムの場所の調べ方ですが、以下のようにすればOKです。
# which vsftpd /usr/sbin/vsftpd ←サーバ・プログラム |
注意点が1つあります。今までvsftpdをスタンドアロンで起動して、vsftpd.confに
listen=YESという記述を入れてしまっているかもしれません。この記述が入っていると
スタンドアロンで起動するという指定になりますので、xinetd経由で起動ができなくなります。
なので、listen=YESの部分をコメントアウトしておくか、削除してください。
以上が済みましたら、xinetdを再起動します。
# service xinetd restart |
ちゃんとxinetd経由になっているのか確認してみます。
# lsof -i:21 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME xinetd 11240 root 6u IPv4 580135 TCP *:ftp (LISTEN) |
先頭がxinetdとなっているので、xinetd経由で起動しています。
スタンドアロンで起動した場合は、vsftpdになっています。
アクセス制御 |
次にアクセス制御の設定を行います。先ほどの/etc/xinetd.d/vsftpdに以下の一行を
付け加えてみてください。{}の間に追加してください。
access_times = 09:00-18:00 |
このようにすると、9時から18時までの間しかvsftpdにアクセスできないことになります。
それ以外の時間帯にFTPサーバにアクセスしてもxinetdがはじいてくれます。
また、特定のネットワークやホストから接続を受け付ける場合には、以下のようにします。
only_from = 192.168.1.0 |
このようにすれば、192.168.1.0/24からしかアクセスできません。
特定のネットワークやホストを拒否したい場合には以下のようにします。
no_access = 192.168.1.50 |
このようにすると、IPアドレスが192.168.1.50のマシンからの接続を拒否することができます。
これらアクセス制御を追加した、今の/etc/xinetd.d/vsftpdの状態を載せてみます。
# cat /etc/xinetd.d/vsftpd service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd server_args = /etc/vsftpd/vsftpd.conf log_on_success += DURATION USERID log_on_failure += USERID nice = 10 access_times = 09:00-18:00 only_from = 192.168.1.0 no_access = 192.168.1.50 } |
上のアクセス制御の記述を加えた場合は、設定を反映させる為にxinetdを再起動します。
# service xinetd restart |
最終更新 : 05/23/2005