vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法

当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:


500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

原因

这个问题发生在最新的这是由于下面的更新造成的:

  • Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

第一种解决方法

将用户主目录去除写权限。
chmod a-w /home/XX/
但是这样用户就不能进行写操作了。allow_writeable_chroot=YES

这样用户被限定在了主目录中,并且具有写权限了。

第二种解决方法

在vsftpd.conf中新增allow_writeable_chroot=YES配置
配置文件路径:/etc/vsftpd/vsftpd.conf
新增如下:

allow_writeable_chroot=YES  #允许用户具有主目录写权限

这样用户呗绑定在了主目录中,并且具有写权限。

Q.E.D.