2011-08-19 19 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,但是不管)在某處以保留它們的許可嗎? –

相關問題