Linux 阻止用户查看公用文件夹

Linux 阻止用户查看公用文件夹,linux,bash,permissions,file-ownership,Linux,Bash,Permissions,File Ownership,我在基于linux的映像上的容器上安装了php应用程序。应用程序必须是公共访问的,至少可以正常工作。我试图用脚本在容器中创建一个用户,并将位于/var/www下的软链接相关项目提供给该用户的主目录。该用户应该只读写exec项目,该项目的ownedi设置为chown 我是这样管理权限的: 将所有文件夹的所有者设置为root 将所有文件夹的权限设置为500 r-x--- 创建一个用户我用python脚本取了这个名字 将相关文件夹所有者设置为创建的所有者 以用户创建的身份运行软链接命令。软链接源位置为

我在基于linux的映像上的容器上安装了php应用程序。应用程序必须是公共访问的,至少可以正常工作。我试图用脚本在容器中创建一个用户,并将位于/var/www下的软链接相关项目提供给该用户的主目录。该用户应该只读写exec项目,该项目的ownedi设置为chown

我是这样管理权限的:

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

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

创建一个用户我用python脚本取了这个名字

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

以用户创建的身份运行软链接命令。软链接源位置为/var/www-target-location/home/created-user

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

我尝试了770个仍然不工作的应用程序

我的问题是如何限制特定用户或的读者使用公用文件夹。那个问题


D您知道其他方法吗?

Unix权限设计为允许这样做,但是ACL利用了一些限制,我们在这里不需要这些限制

每个文件/目录都有一个所有者和一个组,我们可以利用这一点

在您的情况下,您需要一个用户的所有权限,您的Web服务器的阅读权限,而其他用户则不需要任何权限

使用750 rwxr-x可以实现这一点,但需要将目录组更改为webservice的组

例如:

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

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

我的新步骤是:

将所有文件夹的所有者设置为默认值\u userrandom我使用adduser命令完成了此操作

将所有文件夹的权限设置为007---rwx

创建一个用户我用python脚本取了这个名字

将相关文件夹权限设置为777 rwxrwx。可能可以使用707

以创建的用户身份运行软链接命令。软链接源位置为/var/www target location/home/created user


与我的问题相关的帖子:

由于OP声称他们尝试了类似的方法,这个答案将通过更明确地说明它与OP所说的他们尝试的方法有什么不同,以及为什么会有不同而得到改进。@Camusensei感谢您的回答。我解决了这个问题并写了下来。我用同样的方法尝试了/var/www的子文件夹,但没有成功