ftpユーザを作成しよう
vsftpdでEC2(centos7)にFTP接続する手順を記載します。
作業手順
1.vsftpdインストール
$ sudo yum install -y vsftpd $ sudo systemctl enable vsftpd $ sudo systemctl start vsftpd $ sudo systemctl status vsftpd
2.vsftpdの設定
以下の通り設定する
$ sudo cp -p /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org $ sudo chmod 664 /etc/vsftpd/vsftpd.conf $ sudo vim /etc/vsftpd/vsftpd.conf
▼ 変更内容
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=NO
xferlog_std_format=NO
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
user_config_dir=/etc/vsftpd/vsftpd_user_conf
ls_recurse_enable=YES
listen=YES
userlist_enable=YES
tcp_wrappers=NO
use_localtime=YES
allow_writeable_chroot=YES
3.FTPユーザ作成(指定されたパスワードを設定)
# useradd ftp_user # passwd ftp_user # usermod -g developer ftp_user # usermod -aG ftp_user ftp_user # id ftp_user
→プライマリグループがdeveloper、サブグループがftp_userとなることを確認する
# vim /etc/vsftpd/chroot_list # cat /etc/vsftpd/chroot_list
→「ftp_user」と表示されることを確認
4.symboliclink作成および権限設定
# touch /etc/vsftpd/chroot_list # chown ftp_user:ftp_user /home/ftp_user # cd /home/ftp_user # ln -s /var/www/html/stg.sample.jp/ stg.sample.jp # ln -s /var/www/html/www.sample.jp/ www.sample.jp # chown ftp_user:ftp_user /home/ftp_user/stg.sample.jp # chown ftp_user:ftp_user /home/ftp_user/www.sample.jp # mkdir /etc/vsftpd/vsftpd_user_conf # vim /etc/vsftpd/vsftpd_user_conf/ftp_user # cat /etc/vsftpd/vsftpd_user_conf/ftp_user
→「local_root=/var/www/html/www.sample.jp」と表示されることを確認
5.vsftpdの設定変更を適用
# systemctl restart vsftpd # systemctl status vsftpd
6.FTP用セキュリティグループにて指定IP接続許可
21番ポートの接続許可
7.確認作業
Filezillaにて、ファイルアップロード確認をする