www-data 的意图

www-data 的意图

所以我一直在想 www-data 用户/组的真正目的是什么。我是否应该将其他将编辑网站根目录中文件的程序员纳入此组?所有文档是否都应归 www-data 所有?

答案1

www-data只是一个 UNIX 组,是 Apache 的默认用户。UNIX 用户www-data有所不同,必须具有写入日志文件、POST 数据和其他系统任务所需的权限。这些值(UserGroup)在 apache 配置文件中指定,通常位于/etc/apache或中/etc/httpd。Web 服务器主机通常以 root 用户身份运行,然后将工作分派给使用配置的用户和组权限运行的工作者。

Apache 是一种服务,与其他服务一样,通常只有组织中的一小部分人才能访问,通常通过sudo。我不建议您将此组更改为具有广泛访问权限,或成为许多人可以访问的东西。

较小的公司可能没有运营或 IT 部门来管理 Web 服务器,因此在这种情况下,开发人员可能是系统管理员;较大的公司可能会严格控制一切。在前一种情况下,开发人员可能是某个组的一部分,例如,developers并根据需要通过 获得访问权限sudo,例如查看日志文件或调整服务器配置。但这是系统管理任务,对于用户来说应该非常有限,对于组来说也应该受到严格限制。

在某些情况下,让组(而非用户)拥有读取权限但没有写入权限可能是合理的。在这种情况下,您可能希望创建一个由相关服务共享的特殊组 - 例如,您可能拥有 Apache、MySQL 和 PHP,并希望用户能够查看所有这些服务的日志和配置。通用组的另一个用例是自动部署。

写权限应该受到非常严格的控制。 sudo如果使用得当,它是一个很好的工具,可以允许用户获得对特定资源(如日志)的有限访问权限,或者重新启动服务器。

但我不敢苟同,我不同意这个公认的答案——简而言之,答案是否定的。在大多数情况下,服务应该有用户和组访问非常有限,任何权限更改都应慎重考虑。对于 Web 服务器和 FTP 或 SMTP 等端口直接暴露在 Internet 上的服务尤其如此。

答案2

简短的回答是肯定的。

一旦进程拥有端口(通常是 80 和 443),它就会放弃 root 权限并以该用户身份运行。因此,apache 可以访问该用户/组拥有的文件。您可以让用户成为该组的成员,以授予他们访问权限,只需保持底层文件夹也可访问即可。...

在其他发行版中,用户名和组名可能被称为 apache。

相关内容