vsftpd:允许用户只看到她/他的主目录

vsftpd:允许用户只看到她/他的主目录

我刚刚安装vsftpd并创建了一个新用户:sudo useradd new_user -m。然后我取消了以下行的注释/etc/vsftpd.conf

chroot_local_user=YES 

允许用户仅查看(访问)她/他的主目录。

然后我重新启动了 vsftpd。

问题:当我通过该新用户sshftp客户端连接时,新用户可以看到(访问)每个计算机目录,并且我希望她/他看到只有她/他的主目录

我使用的是 Ubuntu 14.04

答案1

尝试

passwd_chroot_enable=yes

passwd_chroot_enable

如果与 chroot_local_user 一起启用,则可以根据每个用户指定 chroot() jail 位置。每个用户的 jail 都来自 /etc/passwd 中的主目录字符串。主目录字符串中出现的 /./ 表示 jail 位于路径中的特定位置。

另请注意,AFAIR vsftp 必须以 root 身份运行才能让任何 chroot 设置生效!

也可以看看

作为启动用户运行

[...] 具体来说,当设置此选项时,vsftpd 不会/无法使用 chroot 技术来限制文件访问(即使由 root 启动)。 [...]

答案2

抱歉,我没有 Ubuntu 14.04 中未修改的 /etc/vsftpd.conf 副本可供比较。也许这会有所帮助。

如果您已chroot_list_enable激活,您可以提供本地用户的列表,这些用户在登录时会被放置在其主目录中的 chroot() 监狱中。

如果 chroot_local_user 设置为 YES,含义略有不同。在这种情况下,该列表将成为不被放置在 chroot() 监狱中的用户列表。默认情况下,包含此列表的文件是 /etc/vsftpd.chroot_list,但您可以使用设置覆盖此chroot_list_file设置,该设置的手册页摘录如下。

chroot_list_file

该选项是包含本地用户列表的文件的名称,这些本地用户将被放置在其主目录的 chroot() 监狱中。这chroot_list_enable仅当启用该选项时,该选项才相关。如果启用该选项chroot_local_user,则列表文件将成为不放入 chroot() 监狱的用户列表。

Default: /etc/vsftpd.chroot_list 

资料来源:

https://security.appspot.com/vsftpd/vsftpd_conf.html

https://linux.die.net/man/5/vsftpd.conf

相关内容