“apache”和“www”用户之间的区别?

我在CentOS 4上configurationApache 2(大致相当于Red Hat)。 有两个与httpd: apachewww安全相关的用户。

在我看来, apacheWeb服务器实际运行的用户,而www拥有文档根目录中所有文件的用户

为什么有单独的用户? 为什么不只是让apache拥有所有这些文件呢?

这听起来像你或其他人为你创build了一个额外的用户/组称为www。 Red Hat / CentOS上的标准是让apache httpd进程作为apache用户运行,当你安装httpd rpm的时候就会创buildapache用户。 根据你的情况和你希望你的网站的安全程度,你可以让你的内容由apache拥有(不太安全,但是如果你需要这样的东西,web服务器可以更容易地写文件),或者你可以拥有网站内容拥有另一个用户和世界可读。 如文件的模式644和导向这些文件的目录的模式755。 在/ var / www / html中应该有一个默认的文档根目录,您可以放置​​网站文件。

只是一个参考,如果你使用的是CentOS 4,你就落后了。 即使CentOS 5落伍了,CentOS 6也应该在一个月或更短的时间内可用(它不是CentOS的错,Red Hat已经推迟了一年多了)。 如果你要运行一个认真的网站,我build议升级。 特别是如果你打算尝试用PHP运行任何应用程序。 等待6出来,这将有PHP 5.3

不知道你是如何以这种方式结束的(在我的情况下,网站文件归我所有),但有一个很好的理由让networking服务器提供的文件不属于/可以由networking服务器写入:如果有人利用networking服务器他们不能在没有单独的特权升级利用的情况下改变网站。

它使您可以使用SELinux进行更细粒度的安全configuration。 每个用户只能拥有需要的权限,例如apache有权启动进程并访问networking,而www只能读取文件。

欲了解更多详情,请看这篇文章 。