1.卸载vsftpd
sudo yum remove vsftpd
2.安装vsftpd
sudo yum -y install vsftpd
3.创建一个文件夹用来当作ftp得仓库
cd /
sudo mkdir ftpfile
4.创建一个用户,仅对文件夹有上传权限,又没有登陆权限
sudo useradd ftpuser -d /ftpfile/ -s /sbin/nologin
//赋值权限
sudo chown -R ftpuser.ftpuser /ftpfile/
//重置改用户的密码
sudo passwd ftpuser
5.配置ftp服务器
//配置ftp服务器器指向文件夹,以及配置用户
sudo vim /etc/vsftpd/vsftpd.conf
//放开 连接成功时的欢迎信息
ftpd_banner=Welcome to blah FTP service.
//新增仓库地址
local_root=/ftpfile
anon_root=/ftpfile
//新增行 设置使用时间
use_localtime=yes
//新增行 设置被动传输接口的范围
pasv_min_port=61000
pasv_max_port=62000
//修改行 匿名访问为NO
anonymous_enable=NO
//放开
chroot_list_enable=YES
//放开
chroot_list_file=/etc/vsftpd/chroot_list
6.创建配置用户的chroot_list文件
cd /etc/vsftpd/
sudo vim chroot_list
//增加内容 上面配置的用户的用户名
ftpuser
7.重启vsftpd
sudo service vsftpd restart
8.编辑防火墙
sudo vim /etc/sysconfig/iptables
新增行
vsftpd
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
-A INPUT -p TCP --dport 20 -j ACCEPT
-A OUTPUT -p TCP --sport 20 -j ACCEPT
-A INPUT -p TCP --dport 21 -j ACCEPT
-A OUTPUT -p TCP --sport 21 -j ACCEPT
9.重启防火墙
sudo service iptables restart
10.重启vsftpd
sudo service vsftpd restart
11.修改系统文件 以防匿名用户无法创建文件
sudo vim /etc/selinux/config
//修改
SELINUX=disable
//刷新生效
sudo setenforce 0
资料文件:
500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误的解决方式:
https://blog.csdn.net/striner/article/details/84667828
启动vsftpd服务,报错:Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details:
https://blog.csdn.net/qq_43718131/article/details/86135767