一、实验步骤
1、创建用户
#创建ftpuser1登录用户
useradd -g ftp -d /share/soft -s /sbin/nologin ftpuser1
#为ftpuser1设置登录密码
passwd ftpuser1
2、编辑配置文件
#vim /etc/vsftpd/vsftp.conf
设置:
#锁定目录,当chroot_list_enable=YES时将调用chroot_list_file
chroot_list_enable=YES
#指定锁定用户的文件列表
chroot_list_file=/etc/vsftpd/chroot_list
3、在/etc/vsftpd/目录下创建chroot_list文件
vim /etc/vsftpd/chroot_list
4、重启vsftpd服务
systemctl restart vsftpd
5、测试
测试连接报错:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
问题:
原来vsftpd从2.3.5之后,增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
解决方法:
方法1:
在配置文件中加入以下设置:
#允许用户在被限定主目录下有写权限
allow_writeable_chroot=YES
方法2:
可以用命令chmod a-w /share/soft 去除用户主目录的写权限;
测试连接成功;