是否有任何原因apache的www-root中的文件必须由root用户在沙箱中拥有?

时间:2011-08-19 23:19:36

标签: apache permissions root

我正在解决权限问题,如果Apache的根文件夹中的所有文件都归用户“root”所有,则可以解决这个问题。由于这是一个沙盒而且我是唯一一个玩沙盒的人,所以没有任何人为冲突。如果我做出这个改变,我会默默地打破一些东西吗?

我从未质疑/ home之外的文件是由系统的root用户帐户以外的任何其他用户拥有的。大多数时候,改变权限确实打破了事情,但思想。 OHHH。多么顽皮。哈哈哈。

3 个答案:

答案 0 :(得分:4)

有点晚了,我很害怕,但我发现了这一点。这里的评论中存在很多混淆/错误信息。在这些基本原则中,你可以做任何你想做的事。我假设httpd用户和组(参见httpd.conf中的用户和组指令)是'apache'和'apache';替代你自己的特定安装。

1 - 用户'apache'

必须能够读取要提供的文件

2 - 目录必须由用户'apache'

搜索

3 - CGI程序必须由用户'apache'

运行

4 - 用户'apache'不应该拥有任何文件

5 - 不应允许用户'apache'写任何文件

6 - 不应允许组'apache'拥有或写入任何文件

您的设置 - root拥有文件 - 是可以接受的,但在大多数设置中更有意义的是,无论谁修改文件(通过ftp / etc)都应该(a)拥有它们,或者(b)进入一个对文件具有写权限的组。

想出一个符合所有这些标准的计划,你应该没问题。显然,不要让“他人”拥有任何不必要的权限。但是,用户“apache”在“其他人”中是正常的,因此文件通常需要其他人的读取权限。如果要检查,请在此处发布您的特定解决方案。

答案 1 :(得分:0)

没问题。只要组名设置为Apache用作组名的任何内容,您就可以将所有者更改为您的用户名。为什么?因为一周之后我就做了。所以,一切都没有破裂。

在我做出更改之前我问过这个问题是因为我在测试服务器上使用了框架应用程序。如上所述,它安装在不同的所有者之下。并且,在更改后,几乎不可能将大文件夹(并且此框架具有超过3000个文件)恢复为原始权限。

答案 2 :(得分:-1)

Apache不会以root身份运行。因此,Apache服务器无权写入root拥有的文件。如果您需要对apache或PHP脚本进行写访问,则不应将Web内容存储为root。

您可能不需要对apache脚本进行写访问,并允许它可能带来安全风险。使用root或通常编辑这些文件的用户可以减轻这种风险。

Apache实例的用户名通常类似于www-run www-dataapache