FTPサーバ~vsftpd

FTPサーバには、フリーソフトでvsftpdやWU-FTPD、ProFTPDなどあります。
FTPサーバは、かつては、スーパーデーモン(inetd)から逐次起動されることが多かったようですが、最近では単独でデーモンとして動作する場合が多いようです。
ここでは、RHEL3に標準でインストールされているvsdtpdをデーモン動作させる場合について説明します。
なお、FTPで標準で使用するTCP21番ポートとTCP20番ポートを、ファイアウォールで開けておいてください。
バージョン

  • vsftpd-1.2.0-4 (RHEL3のデフォルトRPM)

vsftpdは標準設定で動作しますが、必要に応じて最低限行えば良いと思われる設定例を記述します。
▼/etc/vsftpd/vsftpd.conf


anonymous_enable=NO # anonymousユーザを禁止

xferlog_std_format=NO # 詳細なログを記録する
xferlog_file=/var/log/vsftpd.log # 詳細なログ記録の場合のログファイルの指定(デフォルト)

ascii_upload_enable=YES # ASCIIモードでのアップロードを許可
ascii_download_enable=YES # ASCIIモードでのダウンロードを許可

chroot_list_enable=YES # chroot有効(ホームディレクトリより上層への移動を禁止)
chroot_list_file=/etc/vsftpd.chroot_list # chroot対象ユーザをこのファイルに指定

(最下行に一行追加)
use_localtime=YES # ファイルのタイムスタンプを日本時間にする。(デフォルトはGMTによる表示)

ログ記録について、デフォルトでは、”xferlog_std_format=NO”となっており、/var/log/xferlogにログが出力されます。詳細なログを記録するように設定すると、FTPでのログイン情報を記録されるようになります。(設定ではYESをNOに変更する点に注意。)
chroot対象(ホームディレクトリより上層への移動を禁止)のユーザを以下のファイルに記述します。(デフォルトではファイルがありませんので作成します。)
▼/etc/vsftpd.chroot_list

limiteduser1 # 以下のユーザがchroot対象
limiteduser2

FTPでログイン不可能なユーザを追加します。
▼/etc/vsftpd.ftpusers

systemuser1 # 以下のユーザはFTPログイン不可
systemuser2

設定が終了したら、vsftpdを起動します。

# service vsftpd start

サーバ再起動時にvsftpdを実行するには、以下のコマンドを実行します。

# chkconfig vsftpd on

+++ chrootについて +++
chrootについて、通常/etc/vsftpd.chroot_listファイルにはchrootさせるユーザを記述します。
すべてのユーザをまずchrootさせて一部の管理系のユーザだけchrootさせないようにしたい(ホームディレクトリより上層への移動を許可する)という場合もあると思います、すべてのユーザを記述するのは大変ですので、この場合は次のようにすると、/etc/vsftpd.chroot_listファイルにはchrootさせないユーザを記述できるようになります。
▼/etc/vsftpd/vsftpd.conf


chroot_local_user=YES # ローカルユーザをすべてchrootする
chroot_list_file=/etc/vsftpd.chroot_list # ここに書かれたユーザはchrootしない

▼/etc/vsftpd.chroot_list

adminuser # 以下のユーザはchrootしない
servermanager