さくらVPSでFTPが使えるようにする

vsftpdのインストール

vsftpdをインストールする.

$ sudo yum install vsftpd
$ sudo /sbin/chkconfig vsftpd on #自動起動をオン

設定ファイルを編集する.

$ sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
$ sudo vim /etc/vsftpd/vsftpd.conf

以下のように記述を変更する.

#anonymous_enable=YES
anonymous_enable=NO #不特定多数のユーザからのアクセスを拒否する

#ascii_upload_enable=YES
ascii_upload_enable=YES #アスキーモードのアップロードを許可する
#ascii_download_enable=YES
ascii_download_enable=YES #アスキーモードのダウンロードを許可する

#ftpd_banner=Welcome to blah FTP service.
ftpd_banner=Welcome to blah FTP service. #シグニチャを隠蔽する

#chroot_local_user=YES
chroot_local_user=YES #許可したユーザ以外のホームディレクトリより上層へのアクセスを禁止する.
#chroot_list_enable=YES
chroot_list_enable=YES #ホームディレクトリより上層へアクセスできるユーザリストを有効にする

#ls_recurse_enable=YES
ls_recurse_enable=YES #ディレクトリの削除を許可する

#以下,追記
userlist_enable=YES #許可するユーザのみをuserlist_fileで指定する
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
local_root=/var/www/html #ホームディレクトリを指定する
use_localtime=YES #タイムスタンプに現地時間を用いる

ホームディレクトリより上層へアクセス可能なユーザリストを作成する.

$ sudo vim /etc/vsftpd/chroot_list #usernameを追加する

ftpでアクセス可能なユーザリストを作成する.

$ sudo vim /etc/vsftpd/user_list #usernameを追加する

ルートディレクトリの所有者を変更する.

$ sudo chown -R username:username /var/www/html

ファイアーウォールの設定を変更してftpのポート(21番)を空ける

$ sudo vim /etc/sysconfig/iptables #編集
$ sudo service iptables restart #再起動

vsftpdを起動する.

$ sudo /etc/rc.d/init.d/vsftpd start #起動

アクセスできるかクライアント側からチェックする.

$ ftp username@IPadress

参考