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でアクセス制限が行える。
以上
コメント