什么时候应该在我的Web服务器文件上使用“apache:apache”或“nobody:nobody”?

背景:我记得在我以前的工作地点,Web服务器pipe理员总是会让我改变httpd-accessiblefile upload目录,使他们被apache:apache或nobody:nobody所有。

他说这是出于安全原因。

问:你能告诉我具体的安全问题吗? 还有一种方法可以让apache像没有人一样运行:没有人,而且还有安全隐患吗?

TIA

几个应用程序使用nobody作为默认用户。 例如,你可能从来没有真正想说的Apache服务覆盖属于绑定的文件。 拥有每个服务帐户往往是一个非常好的主意。

让apache像没有人一样运行:没有人是非常容易的,只需更新UserGroup 。 设置。 但正如我上面提到的,我并不真正推荐特定的用户/组。 在未来的某个时候,你可能会试图向系统中添加一个服务,这个服务也是没有人运行的,你会忘记已经给文件系统的写访问权给nobody。

至于为什么你需要做一个上传目录。 你真的不需要改变目录的所有者上传。 我只会更改组,然后将权限设置为2775.当然,如果您设置了一个系统,其中许多不同的用户共享同一个Web服务器,获得最佳安全性的权限设置可能会更复杂

我认为主要的一点是,如果Web服务器不能通过所有者或组的访问来写入文件,那么他们必须是世界可写的。

现在,一个由apache拥有的文件或目录或者没有人听起来更喜欢任何人都可写的文件,包括其他服务。

通过将有效的apache用户更改为“nobody”,我没有看到任何巨大的安全隐患,除非您还有其他服务以该用户身份运行。 另一方面,我真的不明白为什么它不应该被遗忘为“apache”。