-3

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

我这样管理该权限:

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

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

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

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

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

使用该设置,用户只能看到其项目目录。但是,由于缺乏公共许可,我的 php 应用程序不再工作。为此,我必须至少设置权限 007。但这次其他用户可以 rwx 相关目录。

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

我的问题是如何限制特定用户或 . 那个问题

你知道其他方法吗?

4

2 回答 2

1

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

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

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

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

例子:

chgrp -R apache /var/www
chmod -R 750 /var/www
于 2019-11-16T15:46:45.610 回答
0

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

我的新步骤是:

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

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

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

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

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

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

于 2019-11-16T17:00:00.997 回答