2011-08-19 18 views
3

我排查权限问题,如果在Apache的根文件夹中的所有文件被用户“根”所拥有并可以解决。由于这是一个sanbox,而且我是唯一一个参与其中的人,所以没有任何人为冲突。如果我做这个改变,我会默默地打破一些东西吗?是否有任何原因apache的www-root中的文件必须由沙盒中的root用户拥有?

我从来没有质疑的/ home目录以外的文件是由比系统的超级用户帐号的其他用户所拥有。大多数情况下,更改权限确实会破坏事情,但这种想法。 OHHH。多么顽皮。哈哈哈。

回答

4

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

1 - 要服务的文件必须通过用户“阿帕奇”

2可读 - 目录必须是由用户“阿帕奇”

3搜索 - CGI程序必须是由用户可运行“阿帕奇“

4 - 用户‘阿帕奇’不应该拥有任何文件

5 - 用户‘阿帕奇’不应该被允许写入任何文件

6 - 组“apache”不应该被允许拥有或写入任何文件

您的设置 - 其中root拥有文件 - 是可以接受的,但在大多数设置中,更需要谁来修改文件通过ftp/etc)应该(a)拥有它们,或者(b)处于对文件具有写入权限的组中。

拿出符合所有这些条件的方案,你应该确定。显然,不允许“他人”拥有任何不必要的权限。然而,用户'apache'在'其他'中是正常的,所以文件通常需要其他人的读取权限。如果您想要检查,请在此发布您的具体解决方案。

+3

像Drupal这样的PHP应用程序如何适合您的方案?它必须能够写入保存文件的目录。而且,php的文本文件功能也需要写入权限。 – xtian

0

Apache不会以root身份运行。所以Apache服务器没有权限访问由root拥有的文件。您绝不应该以根用户身份存储网页内容。

一个Apache实例的用户名是大多像www-runwww-dataapache ..

所以,你应该改变业主无论是默认你的发行版。

+0

原来的主人+组在/ var/WWW的文件是根+ apache和6226 + 6226 ... – xtian

+0

@xtian然后将所有权更改回至少apache组 –

+0

您的评论建议'apache'文件不应该由root拥有。然而我的服务器以这些文件作为根用户。该组织是用户“阿帕奇” - 我从来没有改变过,也不关心。如果问题是:“Apache的根服务器页面('www-run'' www-data''apache')是否可以由任何用户拥有并且仍然是*函数*?”,那么问题可能会更清楚一些。 – xtian

0

没问题。只要组名称设置为Apache用作组名称的任何名称,就可以将所有者更改为您的用户名。为什么?因为过了一个星期,我反正做了。所以,什么都没有打破。

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

+0

我知道它现在不相关,但是你不能刚才复制框架文件(全部3,000,但是不管)在某处以保留它们的许可吗? –

相关问题