设置 vsftp

设置 vsftp

初学者

你好,

因此,为了完成学校作业,我必须在 OpenSUSE 上设置一个 FTP 服务器 (vsftp)。老师告诉我们使用 chroot 列表,但每当我使用 chroot 列表时,所有用户都可以完全控制整个文件系统。我究竟做错了什么?

情况 包含数据的目录。该目录内还有另外 2 个目录。其中一张属于赫尔曼,另一张属于弗兰兹。 Franz 和 Herman 应该能够在他们自己的目录中工作,因此我将他们的主目录指向各自的目录(/data/Franz 和 /data/Herman)。 Herman 不应该能够在 Franz 的目录中读取或写入,反之亦然。最后,我更改了目录的权利和所有权,如下所示:

   drwxrwxr-x 15 Herman FTP 4096 May 13 15:23 Herman
   drwxrwxr-x 18 Franz  FTP 4096 May 13 14:48 Franz

这是我在文件中更改的内容vsftpd.conf。除此之外,一切都未受影响且默认。

   write_enable = YES
   local_enable = YES
   chroot_local_user = YES
   allow_writeable_chroot = YES
   anonymous_enable = NO
   listen = YES
   listen_ipv6 = NO (we may do not use IPv6)

我已经尝试取消注释chroot_list_enable=YES并创建包含 chroot_list 中我想要的所有用户的文件。这似乎打破了事情。每当我取消注释有关的所有内容时chroot_lists,它按预期工作,但根据我的老师的说法,这是“错误的”。他并没有真正解释清楚,所以这就是我在这里问的原因!

有人能把我推向正确的方向吗?谢谢 :)

非常感谢<3

答案1

找到的文档man vsftpd.conf写了以下内容,

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

到目前为止还好。但随后又继续,

chroot_local_user如果设置为 ,则含义略有不同YES。在这种情况下,该列表将成为不被放置在 chroot() 监狱中的用户列表。 [...]

继续阅读,我们会看到以下解释chroot_local_user

chroot_local_user如果设置为YES,则本地用户在登录后将(默认)放置在其主目录中的 chroot() 监狱中。 [...]

我在您的配置中看到您已启用chroot_local_user = YES.所以当你“取消注释chroot_list_enable=YES并创建包含 chroot_list 中我想要的所有用户的文件“您实际上正在创建一个用户文件不要在 chroot 环境中。

相关内容