设置 ftp 帐户仅访问 public_html 内的一个文件夹

设置 ftp 帐户仅访问 public_html 内的一个文件夹

假设有两个 ftp 帐户;user1、user2,并且假设 public_html 文件夹有两个文件夹:folder1、folder2

user1 是主机的管理员,他拥有所有访问权限

我想让用户 2 通过 ftp 仅访问文件夹 2 并可以读写

我想要的是 user2 对 wordpress 文件夹具有完全访问权限,这样他可以对其进行样式设置、编辑甚至删除,但他不能访问 public_html 文件夹内的其他文件夹。

我怎样才能做到这一点 ?。

答案1

(注意:如果这是您自己的自定义服务器,没有 CPanel,则此解释无效。)

我知道的唯一解决方案是控制面板ftp 帐户设置由网络托管公司使用。据我所知,所有网络托管公司都使用控制面板以便客户建立他们的网站。

在设置 FTP 帐户时控制面板您需要为用户设置 BASE(起始文件夹)。ftp 用户只能访问基本目录及其所有子文件夹(其下的文件夹)。

例如,如果目录结构是...

      .-dir1--.
dir0--|       |-dir2--dir3--dir4
      |       L-dir5
      .-dir6--.
              L-dir7

如果用户 A 的基数设置为“Dir1”,则他们将可以访问 dir1 至 dir5,但不能访问 dir0、dir6 或 dir7。如果用户 B 的基数设置为“dir2”,则他们只能访问 dir2、dir3 和 dir4。

此外,我从未见过只允许访问父目录而不允许访问子目录的方法。根据我的经验,他们可以访问整个目录分支。

我不知道还有其他 ftp 目录控制方法 - 而我在所有网站上都是这样做的。我不知道 .htaccess 是否可以以某种方式用于 ftp 访问。我也不知道在 Unix 文件系统上设置组权限是否可用于控制 ftp 访问。

如果你有控制面板访问并可以使需要访问的文件夹位于分支末尾,您的问题就解决了:)

答案2

如果您控制 FTP 服务器,则可以通过在 FileZilla FTP 服务器中定义 user2 的帐户轻松完成此操作。

由于 FileZilla 使用自己的虚拟目录结构,因此您选择作为用户主目录的目录将自动成为其根目录。然后,他们将从自己的目录开始,而没有任何机会进一步向上导航到树中。目录名称不会显示给他们,而是变成/

解决方案是将 user2 的主目录定义为 folder2。

如果您仅使用 FileZilla 作为 FTP 客户端,此解决方案同样适用于我所知道的几乎所有 FTP 服务器。

相关内容