标签归档:ftp

vsftpd: refusing to run with writable root inside chroot ()错误

centos install vsftpd常见的错误:

vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
 vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
原因是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
 解决这个错误的方法,可以用命令chmod a-w /home/test去除用户主目录的写权限,注意把目录替换成你自己的。

或者你可以在vsftpd的配置文件中增加下列两项中的一项:allow_writeable_chroot=YES

Linux CentOS 8 安装ftp

1. yum -y install vsftp

2. 修改/etc/vsftpd/vsftpd.conf 文件:

anonymous_enable=NO
local_enable=YES
write_enable=YES 
chroot_local_user=YES 
pasv_min_port=10000 
pasv_max_port=11000 
userlist_file=/etc/vsftpd/user_list 
userlist_deny=NO 

3. 开放端口

sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=10000-11000/tcp
firewall-cmd --reload 

4. 创建用户并设置访问

sudo adduser newftpuser
sudo passwd newftpuser 
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list 
sudo mkdir -p /home/newftpuser/ftp/upload 
sudo chmod 550 /home/newftpuser/ftp 
sudo chmod 750 /home/newftpuser/ftp/upload 
sudo chown -R newftpuser: /home/newftpuser/ftp 

用户将会被允许上传他们的文件到/home/username/ftp/upload目录。

5. Windows ftp工具设置,直接在文件浏览器地址栏中输入ftp://IP地址,使用ftp用户账号密码登录,此前要将IE的Internet选项中【高级】里的【 使用被动FTP(为防火墙和DSL调制解调器兼容性)】 前面的勾去掉。

6.查看ftp运行状态:systemctl status vsftpd

参考:如何在 CentOS 8 上使用 Vsftpd 配置 FTP 服务器
CentOS8.0 安装配置ftp服务器的实现方法
查看和修改Centos系统ftp用户名和密码的方法
打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹