CentOSでFTPサーバー構築、vsftpdのインストール、設定

1.vsftpdのインストール
vsftpdがインストールされているかどうかをチェック
rpm -qa | grep vsftpd

yum -y install vsftpd
chkconfig vsftpd on #自動起動

2.仮想ユーザの設定
修正ファイル:/etc/vsftpd/vsftpd.conf
修正内容:
anonymous_enable=NO
local_enable=YES
chroot_list_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd

追加内容:
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vuser_conf

3.認証の設定
yum install db4 db4-utils

vim /etc/vsftpd/vuser_passwd.txt
test #ユーザ名
startnews24 #パスワード
ユーザ認証用dbファイル
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

/etc/pam.d/vsftpdに下記行目を追加
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

最後に仮想ユーザの構成ファイルを作成
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/test
local_root=/ftp/www //虚拟用户根目录,根据实际情况修改
write_enable=YES //可写
anon_umask=022 //掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

4.Selinuxを設定
setsebool -P ftp_home_dir=1 //ftpはhomeディレクトリを使用
sersebool -P allow_ftpd_full_access=1 //FTPユーザはすべての権限を持つことができる

5.FTPディレクトリに対して権限を与える
mkdir /ftp/www //ディレクトリを作成
chmod R 755 /ftp
chmod R 777 /ftp/www
6.ファイウォールを設定
vi /etc/sysconfig/iptables
「-A INPUT –m state –state NEW –m tcp –p –dport 22 –j ACCEPT」の下に下記を追加
-A INPUT m state –state NEW m tcp p dport 21 j ACCEPT
ファイルを保存して、ファイルが閉じる、ファイウォール構成をリフレッシュする
service iptables restart

ftpサーバーが起動
service vsftpd start

7.PASVモードを設定
vi /etc/vsftpd/vsftpd.conf 下記内容を追加
pasv_enable=YES //PASVを有効
pasv_min_port=40000 //最小ポート番号
pasv_max_port=40080 //最大ボート番号
pasv_promiscuous=YES

40000~40080ポートを有効にする
-A INPUT m state –state NEW m tcp p dport 40000:40080 j ACCEPT

iptablesとvsftpdが再起動
service iptables restart
service vsftpd restart

 

 

Source

Posted by arkgame