さくら VPS (CentOS 6.3) に LAMP を構築する - FTP インストール
- FTP サーバーをインストール (vsFTPd)
サーバーに接続.$ ssh admin@XXX.XXX.XXX.XXX -p xxxxx
yum を使って FTP サーバー (vsFTPd) をインストール.
[admin@www****** ~]$ sudo yum -y install vsftpd
- FTP の設定
設定ファイルを以下のように編集.[admin@www****** ~]$ sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org [admin@www****** ~]$ sudo /etc/vsftpd/vsftpd.conf
- anonymous によるログインを許可しない
anonymous_enable=YES ↓ anonymous_enable=NO
- ログファイルの指定
#xferlog_file=/var/log/vsftpd.log ↓ xferlog_file=/var/log/vsftpd.log
- ASCII モードでのダウンロードとアップロードを許可
#ascii_upload_enable=YES #ascii_download_enable=YES ↓ ascii_upload_enable=YES ascii_download_enable=YES
- ホームディレクトリより上の階層に移動できるユーザーをリストで管理
#chroot_local_user=YES #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd/chroot_list ↓ chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
- ディレクトリごとの削除を許可
#ls_recurse_enable=YES ↓ ls_recurse_enable=YES
- TCP Wrapper による通信制限の無効化
tcp_wrappers=YES ↓ tcp_wrappers=NO
- ローカルタイムの使用 (最後に追記)
use_localtime=YES
- 「/etc/vsftpd.user_list」をアクセス許可リストとして機能させる (最後に追記)
userlist_deny=NO
- PASV モードによる接続を許可する設定を追記.
pasv_enable=YES pasv_min_port=10050 pasv_max_port=10100
ここまで編集したらファイルを保存してエディタを終了.
FTPへの接続を許すアカウント名を「/etc/vsftpd.user_list」に追記.
[admin@www****** ~]$ sudo vi /etc/vsftpd/user_list
# vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody admin
上位ディレクトリ参照許可ユーザーアカウントを「/etc/vsftpd/chroot_list」に記入.
[admin@www****** ~]$ sudo vi /etc/vsftpd/chroot_list
root admin
リストを root ユーザー以外編集不可にする.
[admin@www****** ~]$ sudo chmod 600 /etc/vsftpd/chroot_list
- anonymous によるログインを許可しない
- FTP 接続用のポートを開放.
[admin@www****** ~]$ sudo vi /etc/sysconfig/iptables
以下を追記します.
-A FIREWALL -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT -A FIREWALL -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A FIREWALL -m state --state NEW -m tcp -p tcp --dport 10050:10100 -j ACCEPT
- vsFTPd を起動させ,スタートアップ起動に登録.
[admin@www****** vsftpd]$ sudo /etc/rc.d/init.d/vsftpd start vsftpd 用の vsftpd を起動中: [ OK ] [admin@www****** vsftpd]$ sudo chkconfig vsftpd on [admin@www****** vsftpd]$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ローカルから FTP にログインできることを確認.
$ ftp admin@XXX.XXX.XXX.XXX