我刚刚在 Ubuntu Server 16.04.3 LTS 上使用 创建了一个新用户useradd
。我安装了 vsftpd,但#chroot_local_user=YES
仍将其注释掉。然而,当我通过 FTP 将用户连接到我的服务器时,他可以看到并访问整个服务器上的每个文件夹(而不仅仅是他的主文件夹)。
我做错什么了吗?
在此先感谢您的帮助
答案1
您已chroot_local_user = YES
注释掉,它默认为NO
。由于vsftp.conf
文档说,您的期望状态需要进行此项设置YES
。
chroot_local_user
如果设置为
YES
,本地用户登录后将(默认)被放置在其主目录中的 chroot() 监狱中。警告:此选项有安全隐患,特别是当用户有上传权限或 shell 访问权限时。只有当您知道自己在做什么时才启用。请注意,这些安全隐患并非 vsftpd 特有的。它们适用于所有提供将本地用户置于 chroot() jails 中的 FTP 守护程序。
默认:
NO
答案2
我使用的是 AWS EC2 Linux。也遇到了同样的问题。对我来说,执行以下两个步骤即可解决问题:打开/etc/vsftpd/vsftpd.conf
- 取消注释
chroot_local_user = YES
(这意味着启用 chroot_local_user) - 评论
chroot_list_enable=YES
重新启动 vsftpd 服务。
谢谢,Qayed Johar