所以我一直在想www数据用户/组的真正目的是什么。我是否应该将其他程序员包括在这个组中,以编辑网站根目录中的文件?所有的文件是否都属于www-data?
发布于 2016-02-21 19:49:57
www-data只是一个UNIX组,默认情况下用于Apache。UNIX用户www-data是不同的,并且必须具有编写日志文件(可能是POST数据)和其他系统任务所需的权限。这些值(User和Group)是在apache文件中指定的,通常在/etc/apache或/etc/httpd中找到。web服务器主服务器通常以根用户的身份运行,然后将工作分派给使用配置用户和组的权限运行的工作人员。
Apache是一种服务,与其他服务一样,它通常是一个组织中的一小部分人能够访问的东西,通常是通过sudo。我不建议你改变这个群体有广泛的访问,或成为一个很多人可以得到的东西。
较小的公司可能没有操作或IT部门来管理web服务器,因此在这种情况下,开发人员可能是系统管理员;较大的公司可能会非常严格地将事情锁定。在前一种情况下,开发人员可能是一个组(如developers )的一部分,并根据需要通过sudo获得访问,例如查看日志文件或调整服务器配置。但是这是一项系统管理任务,对于用户来说应该是非常有限的,对于组来说应该是非常有限的。
在某些情况下,组(而不是用户)有读,但没有写访问可能是有意义的。在这种情况下,您可能希望通过相关服务创建一个特殊的组共享--例如,您可能拥有Apache、MySQL和PHP,并且希望用户能够看到所有这些日志和配置。公共组的另一个用例是自动化部署。
应该非常小心地控制写访问。如果使用得当,sudo是一个很好的工具,可以允许用户获得对特定资源(如日志)的有限访问权,或者重新启动服务器。
但我不同意接受的答案--简短的回答是否定的。在大多数情况下,服务应该具有非常有限的访问权限的用户和组,对权限的任何更改都应该仔细考虑。对于那些端口直接暴露于Internet的web服务器和其他服务(如FTP或SMTP ),情况尤其如此。
发布于 2016-02-21 18:41:07
简短的回答是肯定的。
一旦进程拥有端口(通常是80和443 ),它就会放弃根权限,并以用户的身份运行。因此,apache可以访问该用户/组所拥有的文件。您可以让该组的用户成员给予他们访问权限,只需将底层文件夹也保持可访问性。..。
在其他发行版上,用户名和组名可能称为apache。
https://serverfault.com/questions/758774
复制相似问题