在 CENTOS7 上的 VSFTP 中创建嵌套目录时出现问题

在 CENTOS7 上的 VSFTP 中创建嵌套目录时出现问题

因此,在工作中,我被要求使用免费软件将我们的一些服务从 Windows 迁移到 Linux,包括代理、DNS 和 FTP。我还被要求尽量避免使用 GUI,所以我选择了 CentOS 7。

经过长时间的努力,我成功地启动并运行了 CentOS 7,同时运行了 vsftpd。我创建了一个管理员帐户,一切都很顺利。

我在复制实际 FTP 中的目录树时遇到了问题。我使用上述 FTP 将文件传输到我的 30 个客户。每个人都有一个按客户 ID 编号从 1 到 30 的文件夹,他们只能以完全权限访问自己的文件夹和子文件夹。这些客户端文件夹嵌套在“客户端”文件夹下,该文件夹由负责向每个客户端上传文件的区域管理。该区域应该具有对每个客户 ID 文件夹的完全访问权限。现在看起来像这样:

-FTP
    -Clients
        -01
        -02
        -##
        -30

为了完成类似的任务,我创建了以下帐户:

adduser uploaders -d /home/clients
adduser clientname01 -d /home/clients/01
adduser clientname02 -d /home/clients/02
adduser clientname## -d /home/clients/##
adduser clientname30 -d /home/clients/30

并将他们囚禁在他们的 chroot 中

chroot_local_user=YES
  • 当我登录该uploaders帐户时,我被锁定在 chroot 中,但无法访问编号的文件夹

  • 当我登录任何客户的帐户时,我正站在根目录上,可以访问那里的几乎每个文件夹。

实现我正在尝试的目标的正确方法是什么?

答案1

如果您使用设置用户的主目录adduser,则无需 chroot - 您的用户将可以使用该local_enable选项自动访问其主目录。

如果文件位于不同位置,只需将其更改home为该位置即可。只要他们不希望ssh进来,就不会有问题。

确保您的vsftpd.conf文件具有:

anonymous_enable=NO
local_enable=YES
write_enable=YES

并且没有任何chroot线条。如果您不希望用户通过 FTP 写入他们的主目录,则write_enable应该如此。NO

相关内容