阻止用户查看 public 文件夹

Prevent a user to see public folder

我在基于 linux 的图像的容器上有 php 个应用程序。该应用程序必须 public 访问(至少 007)才能正常工作。我正在尝试使用脚本创建一个用户(在容器内),并将位于 /var/www 下的软链接相关项目提供给该用户的主目录。该用户应该只读写执行拥有的项目(我用 chown 设置)。

我是这样管理权限的:

  1. 将所有文件夹的所有者设置为 root

  2. 将所有文件夹的权限设置为 500 (r-x------)

  3. 创建一个用户(我用 python 脚本取了那个名字)。

  4. 将相关文件夹所有者设置为创建的所有者。

  5. 运行 软链接命令作为创建的用户。软链接源位置是 /var/www 目标位置 /home/created-user.

使用该设置,用户只能看到其项目目录。但是,由于缺少 public 权限,我的 php 应用程序不再运行。为此,我必须至少设置权限 007。但是这次其他用户可以读取相关目录。

我尝试了 770 个仍然无法使用的应用程序。

我的问题是如何限制来自特定用户或 reader 的 public 文件夹。那个问题

你知道其他方法吗?

Unix 权限旨在允许这样做,但有一些限制(由我们在这里不需要的 ACL 利用)。

每个 file/directory 都有一个 owner 和一个 group,我们可以利用它来发挥我们的优势。

在你的情况下,你想要一个用户的所有权限,你的网络服务器的阅读权限,而其他用户没有任何权限。

您可以使用 750 (rwxr-x---) 来实现,但是您需要将目录的组更改为您的网络服务的组。

示例:

chgrp -R apache /var/www
chmod -R 750 /var/www

我不知道 007 和 777 权限之间的区别。知道这解决了我的问题。

我的新步骤是:

  1. 将所有文件夹的所有者设置为 default_user(随机)(我使用 adduser 命令执行此操作)

  2. 将所有文件夹的权限设置为 007 (------rwx)

  3. 创建一个用户(我用 python 脚本取了那个名字)。

  4. 设置相关文件夹权限为777(rwxrwxrwx)。可能707就可以了

  5. 运行 创建的软链接命令 user.Softlink 源位置是 /var/www 目标位置 /home/created-user.

与我的问题相关的post:https://superuser.com/questions/547699/difference-between-chmod-777-and-chmod-007