<分区>
背景 我最近在我有 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
。 ([edit] 这不是应该的样子,因为文件不应该使用 root 创建——这个问题的部分原因)
运行 ps -auxww
我看到 Apache Web 服务器以名为 www-data
的用户身份运行,因此我可以假设 php 将以同一用户身份运行(大概这是一个将继承同一用户的子进程)。
如果我在所有文件上设置chmod 640
并将我自己(用户bob
)设置为所有者,创建一个名为productionIDs 的组会不会是错误的
包含 www-data
用户,将文件组设置为 productionIDs
?
在我看来,就最小特权而言,这会更安全;除了我和网络服务器之外还有谁?只有我需要写文件,而网络服务器只需要读取。没有其他人需要做任何事情。
我的设置无法处理有多位开发人员的情况,但我不确定这种情况应该是什么样子。
那么 640
所有者我,组 web 服务器组是否有任何风险?如果是这样,相应的目录 750
是否也安全?
如果不是,为什么没有更多人使用这个配置?
[更新] 根据试试看 理论,它有效。所以现在的问题包括“此配置不允许什么/此配置的缺点是什么”方面。