最近几天,我一直在学习如何设置var/www/权限。
据我所知,常见的解决方案是通过粘性位将所有新文件夹的组所有者设置为apache。让Apache获得某些用户所属的第二组"admin“如何?这似乎是一种更灵活的方法,因为通过这种方式,由apache上传的所有脚本都将具有写权限,而对其他不那么受信任的用户则不然。
这种方法的安全漏洞是什么?就安全性而言,它与仅仅让文件夹所有者拥有apache主组- apache相比,有什么不同呢?
发布于 2013-09-20 01:16:51
使所有者root:root可能是最“安全”的。它阻止除根用户之外的任何人更改文件。
使所有者apache:apache只允许根或apache (以及apache组的成员取决于权限).上面也是一样..。如果您授予组写权限..该组获得写权限.)
当我们让多个协作者在我们的一个更大的站点上工作时,我们将其设置为apache是所有者,而一个名为webdevel的组是所有者。这两个都有写权限..。
回顾过去,最安全的方法(同时为开发人员提供理智)可能是根据您的示例将root:admins分配给apache本身不需要编写的任何文件。如果apache对文件具有写访问权,服务器的妥协意味着用户可以更改apache用户所需的任何文件。出于这个原因,您应该考虑保护您的web文件不受web服务器的影响。只需让apache拥有它需要更改的配置文件或需要上传的文件夹(例如图像上传目录)。
现在,如果您有apache不应该写入的文件,但是应该能够读取..但是,所有其他非root和非管理员用户都不应该能够读取(带有密码的配置文件),也不能:
1)采用更复杂的ACL
或
2)不要让恶意的不值得信任的人离开你的服务器
或
3)将不可信的用户关进监狱。
https://serverfault.com/questions/540341
复制相似问题