如何对无权访问的用户隐藏 chroot 目录中的子目录

如何对无权访问的用户隐藏 chroot 目录中的子目录

如果这个问题之前/其他地方已经得到解答,请见谅。我搜索了一番,但什么也没找到。如果是这样,请给我指明正确的方向。

我正在运行带有 ssh 和 vsftp 的 Linux FTP 服务器 (UB10)。我有一组用户被 chroot 到目录 (/files)。每个用户都需要访问其中的至少一个子目录 - 用户 1 可以访问 /files/1,用户 2 可以访问 /files/2,用户 3 可以访问 /files/3。

我想添加第四个用户,该用户有权访问 /files/1 和 /files/2,但无法查看 /files/3。我让第四个用户只能访问子目录 1 和 2,但目录 3 仍然可见。

有没有办法不向用户 4 显示 /files/3?

实际上,有超过 4 个用户和超过 3 个目录,并且每个用户都需要访问各种组合,因此简单地将目录移出 chroot 并创建另一个组并不是最佳解决方案。

谢谢,

亚历克斯。

答案1

看来,使用 vsftp,您可以使用 FTP 服务器中的几个选项,而不必完全依赖 unix 权限和组来获得您想要的内容。

VSFTP 配置手册页有一个选择——用户配置目录- 它应该可以满足您的需要:

用户配置目录- 此强大选项允许根据每个用户覆盖手册页中指定的任何配置选项。用法很简单,最好通过示例进行说明。如果您将 user_config_dir 设置为 /etc/vsftpd_user_conf,然后以用户“chris”身份登录,则 vsftpd 将在会话期间应用文件 /etc/vsftpd_user_conf/chris 中的设置。

假设你有一个简单的文件设置,结合拒绝文件隐藏文件选项您应该能够将目录中的特定项目设置为对该用户不可见。例如,您可以在 /etc/vsftpd_user_conf 中为每个用户创建一个配置文件(如果您将目录设置为那里),并为该特定用户设置选项。

相关内容