背景 我最近在我有 root 访问权限的主机上设置了一个基于 php 的站点。我已经根据 linode.com 上的指南安装了灯设置,现在我想知道如何处理 php 文件权限、目录权限以及哪些用户应该在哪些组中运行哪些进程。
特别是我想回答“一个标准的 php 网站应该如何根据 ACL、所有权和生产 ID 进行配置?”这个问题的答案。
目前,任何目录列表都会返回以下内容:
-rw-r--r-- 1 root root 70 Nov 8 17:17 index.php
即root
所有者,root
组,模式644
/ uw & ar
。([编辑]这不是应该的,因为不应该使用 root 创建文件 - 这个问题的部分原因)
运行ps -auxww
我看到 Apache Web 服务器以名为 的用户身份运行www-data
,因此我可以假设 php 将以同一用户身份运行(推测它是继承同一用户的子进程)。
我chmod 640
在所有文件上设置,并将我自己(用户bob
)设置为所有者,创建一个名为productionIDs
包含www-data
用户的组,将文件上的组设置为是错误的productionIDs
吗?
在我看来,这在最小特权方面会更安全;除了我自己和网络服务器还有谁?只有我需要写文件,Web服务器只需要读取。没有其他人需要做任何事情。
我的设置无法处理有多个开发人员的情况,但我不确定这种情况应该是什么样子。
640
那么所有者我,组网络服务器组有什么风险吗?如果是这样,相应的目录750
也安全吗?
如果没有,为什么不让更多人使用这种配置?
[更新]试试看理论下,有效。所以现在的问题包括“这个配置不允许什么/这个配置有什么缺点”方面。