vsftpd 用户限制(用户隔离)

即把用户限制在主目录中(不能切换到主目录以外的目录中)

1)chroot_list文件不存在

500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

image-20211127115846863

image-20211127115920589

由于vsftpd默认没有chroot_list文件,故而登录失败,创建一下文件:

1
touch /etc/vsftpd/chroot_list

再尝试登录

2)安全问题

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

image-20211127120433140

这是因为,为了避免一个安全漏洞,从vsftpd 2.3.5 开始,chroot目录必须不可写,否则用户不能登录

若要解决该问题,可以新增一条参数:

1
allow_writeable_chroot=YES

image-20211127120720396

最后登录成功

image-20211127120735797

补充

1
2
3
chroot_local_user=YES			# 限制所有用户都在主目录(chroot,也称监牢)
chroot_list_enable=YES # 是否启用chroot限制名单,与chroot_list_file搭配使用。
chroot_list_file=/etc/vsftpd/chroot_list # 限制chroot的名单文件
1
2
3
4
情况一:
chroot_local_user=NO(或未指定)
chroot_list_enable=YES
表示只有chroot_list_file名单中的用户被限制在主目录中
1
2
3
4
情况二:
chroot_local_user=YES
chroot_list_enable=YES时
表示除chroot_list_file名单外的所有用户都被限制在主目录中