1. 安装vsftp
yum install vsftpd
2. 开启20、21号端口
开启21号端口:
firewall-cmd --zone=public --add-port=21/tcp --permanent
--zone 作用域
--add-port 添加端口号
--permanent 永久生效
重启防火墙:
firewall-cmd --reload
3. 建立不能登录到系统的用户
(1) 创建用户 adduser -g ftp -s /sbin/nologin centos_ftp
(2) 添加密码 passwd centos_ftp
4. 只允许特定用户登陆
vim /etc/vsftpd/vsftpd.conf
(1) 禁止匿名用户登陆
注释掉anonymous_enable=YES
(2) 限制特定用户登陆
① 在配置文件的最后添加userlist_deny=NO
② 在ftpusers添加允许登陆的用户名
vim /etc/vsftpd/ftpusers
③ userlist_enable和userlist_deny组合说明

图一
④ 重启vsftp
service vsftpd restart
5. 限制用户只能访问自己的home目录
① 打开 vim /etc/vsftpd/vsftpd.conf 去掉以下三行的注释 #chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
② 在/etc/vsftpd/下建立chroot_list文件 touch /etc/vsftpd/chroot_list
③ 打开chroot_list文件添加要限制的用户 vim /etc/vsftpd/chroot_list
④ chroot_local_user和chroot_list_enable组合说明
图二 ⑤ 500 OOPS: vsftpd: refusing to run with writable root inside chroot(),此错误是当限制用户只能在自己home目录时要要去除此目录的写权限。 解决办法,去除该目录的读写权限:chmod a-w /home/centos_ftp/ ⑥ 重启vsftpd
service vsftpd restart