我是在centos7上安装了3.0.2版本的vsftp,为了限制用户不能访问父级目录在vsftpd.conf中加了chroot_local_user=yes,这个配置本来的意思是让所有的用户都不能去访问除了自己的home目录以上的目录,但是加了之后发现之前可能登录的用户提示用户身份校验失败,后来查到原因是新版的vsftpd的以下更新:
Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turnedon chroot_local_user but such is life.
这个问题是你的用户根目录是可写的,但在新的更新中,当使用chroot限制功能时是不被允许的。
有以下两种解决办法:
去除掉用户根目录的写权限
添加以下的语句到vsftpd的配置文件中,以此来添加安全性检查
对于标准的vsFTPd(vsftpd):
allow_writeable_chroot = YES
对于扩展版的vsFTPd(vsftpd-ext):
allow_writable_chroot = YES