1、获取管理员权限
[shadow@localhost ~]$ su - root
Password:
[root@localhost shadow]#
2、安装vsftpd
[root@localhost shadow]# yum -y install ftp vsftpd
3、安装iptables防火墙
[root@localhost shadow]# yum install iptables-services
4、查看配置文件所在路径
[root@localhost shadow]# rpm -qc vsftpd
5、创建用户密码明文文件
[root@localhost shadow]# cd /etc/vsftpd
[root@localhost vsftpd]# vim vftpuser.txt
文件中添加:
shadow #这是用户名
3edc$RFV #这是密码
6、生成密文文件db
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
7、创建vftpd的guest账户
[root@localhost vsftpd]# useradd -d /home/ftpsite -s /sbin/nologin vftpuser
8、修改/etc/pam.d/vsftpd配置
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd
将auth和account都注释掉,然后添加:
auth required /lib64/secutity/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/secutity/pam_userdb.so db=/etc/vsftpd/vftpuser
9、修改vsftpd.conf配置
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
修改:anonymous_enable=NO #改成NO
添加:
virtual_use_local_privs=YES # 虚拟用户和本地用户有相同的权限
chroot_local_user=YES #限制用户在主目录内
allow_writeable_chroot=YES #有写权限
10、设置vsftpd开机启动
[root@localhost vsftpd]# systemctl enable vsftpd #开机启动
[root@localhost vsftpd]# systemctl restart vsftpd #重启vsftpd
11、关闭firewall
[root@localhost vsftpd]# systemctl stop firewalld.service #关闭firewall
[root@localhost vsftpd]# systemctl disable firewalld.service #禁止开机启动
12、设置iptables防火墙
[root@localhost vsftpd]# vim /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT #vsftpd使用的是21端口
13、重启iptables防火墙
[root@localhost vsftpd]# systemctl restart iptables.service #重启防火墙
[root@localhost vsftpd]# systemctl enable iptables.service #设置开机启动
14、关闭SELINUX
[root@localhost vsftpd]# vim /etc/selinux/config
注释:
SELINUX=enforcing
SELINUXTYPE=targeted
添加:
SELINUX=disable
15、打开ftpd访问权限
[root@localhost vsftpd]# getsebool -a | grep ftp
[root@localhost vsftpd]# setsebool -P ftpd_full_access on
16、使配置立即生效
[root@localhost vsftpd]# setenforce 0
17、重启ftp服务器
[root@localhost vsftpd]# systemctl restart vsftpd
18、客户端访问如下: