[CentOS6.4] xinetd経由でproftpdを起動させるようにyumを使ってインストール設定するの巻

スポンサーリンク

proftpdをyumでインストールしたいなって思った。どうやらソースを持ってきてうんぬんかんぬんするとインストールできるらしいが、面倒くさがりのアタクシはepel-releaseのyumレポジトリを用いてyumからインストールすることにした。今回は、proftpdが常に起動しているスタンドアローンでの起動方法ではなく、xinetd経由で起動する方法でインストールしたいと思う。この方法だと、/etc/hosts.allowの制限をかけることができる。

蛇足になるが、/etc/hosts.allowを用いての制限を行えるか行えないかは、ldd コマンドで確認ができる。

# ldd `which proftpd` | grep libwrap
# ldd `which xinetd` | grep libwrap

興味がある人は一通りのインストールが終わってから上記コマンドで試していただきたい。


xinedのインストール

すでにxinetdのインストールが行われている場合は、この作業はもちろん必要ない。

1. yum を用いてxinetdをインストールする

# yum -y install xinetd

2. サーバー起動時の自動起動設定を確認する(デフォルトでオンのはず)

# chkconfig --list xinetd
xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
#

もし上記 3:on でない場合は、chkconfig xinetd on で onにすること。

3. xinetd を起動する

# service xinetd start
xinetd を起動中: [ OK ]
#

以上でxintedのインストールは完了した!

proftpdのインストール

1. [CentOS6.4] yumレポジトリ:epel-releaseを追加する を参考にepel-releaseレポジトリをインストールする。

2. yum でproftpdをインストールする

# yum -y install proftpd

3. サーバー起動時の「proftpd」自動起動設定を確認しておく

今回はxinetd経由で起動させるので、自動起動はなくてOK! 3:off であること。

# chkconfig --list proftpd
proftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
#

4. xinetdで起動させる「xproftpd」の起動設定を確認し(デフォルトオフ)、起動するようにしておく。

# chkconfig --list xproftpd
xproftpd off
#
# chkconfig xproftpd on
#
# chkconfig --list xproftpd
xproftpd on
#

ちなみに上記の操作で変更されるファイルは、/etc/xinetd.d/xproftpd。このファイルに記載されていた「disable = yes」が削除される。

5. proftpdの設定ファイルを変更する

5-1. 設定ファイルのバックアップの作成、作成したバックアップファイルの確認

# cp -p /etc/proftpd.conf /etc/proftpd.conf.org
# ls -la /etc/proftpd.conf*
-rw-r----- 1 root root 9714 1月 19 01:36 2013 /etc/proftpd.conf
-rw-r----- 1 root root 9714 1月 19 01:36 2013 /etc/proftpd.conf.org
#

5-2. 設定ファイルに、xinetd経由で起動する旨を意味する「ServerType inetd」を追加する。

# vi /etc/proftpd.conf
# This is the ProFTPD configuration file
#
# See: http://www.proftpd.org/docs/directives/linked/by-name.html

# Server Config - config used for anything outside a <VirtualHost> or <Global> context
# See: http://www.proftpd.org/docs/howto/Vhost.html

ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
DefaultServer on
ServerType inetd ←ここに1行追加する

5. xinetd を再起動して、上記4で変更した設定を認識させる

# service xinetd restart
xinetd を停止中: [ OK ]
xinetd を起動中: [ OK ]
#

6. netstatで21番ポートをリッスンしているのが、xinetdである事を確認する。

# netstat -antp | grep xinetd
tcp 0 0 :::21 :::* LISTEN 6265/xinetd
#

後はFTPクライアントを用いて、サーバーに登録済みユーザでログインができるかを確認する。

なお、/etc/xinetd.d/xproftpd に記載がある「in.proftpd」を使って/etc/hosts.allowでアクセス制限が行える。

 

以上

コメント

タイトルとURLをコピーしました