1. 删除firewalld防火墙
systemctl stop firewalld.service
yum remove firewalld.service
2.安装iptables防火强
yum install iptables-services
systemctl start iptables.service
systemctl enable iptables.service
3.安装vsftpd软件
yum install vsftpd
systemctl start vsftpd.service
systemctl enable vsftpd.service
4.配置vsftpd vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO --禁用匿名登陆
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list --启用vsftpd用户
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=61001
pasv_max_port=62000 ---配置被动模式的端口
5. 在防火墙中开放端口 vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT --开放端口号21
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
重启防火墙 systemctl restart iptables.service
6.配置selinux
通过 getsebool -a | grep ftp我们可以看到selinux是禁止了所有的ftp服务,为了能正常使用我们需要将
ftp_home_dir,ftpd_connection_db 两个boolean变量设为true
setsebool -P ftp_home_dir 1setsebool -P ftpd_connect_db 1
或者修改selinux文件注释掉其它信息增加SELINUX=disable
在执行setenforce 0 使得修改立即生效
7.增加ftp用户
useradd -d /var/ftp -s /sbin/nologin ftpUser #######此处指定创建的ftp用户访问的根目录
passwd ftpUser --为ftpUser这个用户设置密码
8.增加ftp用户控制
在vsftpd的安装目录下增加chroot_list文件 (每个用户一行,该用户将只能访问/var/ftp下的目录,在创建用户时制定的)
所有加入该文件的用户将只能访问创建用户时指定的目录
增加ftpUser这个用户重启vsftpd和iptables