Linux环境ftp报“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”问题解决

PS1'date'>:/home/username>ftp x.x.xx.xx
Connected to x.x.xx.xx (x.x.xx.xx).
220 (vsFTPd 3.0.2)
Name (x.x.xx.xx:username): username
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
421 Service not available, remote server has closed connection

解决办法:

方法1:

chroot_local_user=YES #锁定用户登录ftp后,只能到自己的家目录下,不能随便切换到其它目录。但是普通系统用户默认是可以在自己的家目录里写文件的,vsftp出于安全性要求,
如果锁定了用户的ftp登录目录,则所在目录不能有写权限。

方法2:

/etc/vsftpd/vsftpd.conf配置文件增加如下一行

allow_writeable_chroot=YES --可行。ftp目录必须要有写权限。

方法3:

添加例外

/etc/vsftpd/chroot_list 这个配置文件中加入用户名

修改完配置文件事要重启vsftpd服务。

听起来有点绕,按下面的配置就没问题了:

#chmod o-w /data/ftp

vi /etc/vsftpd/vsftpd.conf 修改下面三行。

chroot_local_user=YES --锁定ftp用户目录。不能随便切换到其它目录。
local_root=/data/ftp ---指定用户登录后的目录。或者不指定也行,系统用户登录ftp后,直接到用户自己的家目录。
allow_writeable_chroot=yes

如果要添加例外,即允许某个用户可以切换到其它目录,则添加下面两行参数,否则可以不用配置。
chroot_list_enable= YES --这个是启用用户列表,对应下一句的chroot_list文件。
chroot_list_file=/etc/vsftpd/chrot_list ---在这个文件中的用户则不受限制,可以切换到其它目录。这个文件需要手动创建。
这样,FTP用户登录后,只能在指定目录下进行读写操作,不能随便切换到其它目录。

通过方法3,解决了使用ftp报错的问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值