為什麼 Ubuntu 中群組寫入權限被忽略?

為什麼 Ubuntu 中群組寫入權限被忽略?

我希望我的用戶能夠完全存取本機 Apache 根資料夾,並且我還希望 Apache 使用者能夠完全存取同一資料夾。

我所做的是創建一個名為 DevGroup 的新群組,並在那裡添加我的用戶www-data。此外,我將權限變更為 770 以允許完全群組存取。

但現在它不允許我或 Apache 用戶以任何方式存取該資料夾。

這是我得到的ls

drwxrwx--- 12 root      DevGroup    4096 Sep 27 17:34 testFolder

這看起來很完美,但是當我嘗試作為用戶存取該文件時,我得到以下資訊:

var/www$ ls testFolder/
ls: cannot open directory testFolder/: Permission denied

另外,當我嘗試從瀏覽器存取資料夾中的頁面時:

[Thu Sep 27 17:47:16 2012] [error] [client 127.0.0.1] PHP Fatal error: 
 Unknown: Failed opening required '/var/www/testFolder/foo.php' 
(include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

有什麼問題以及如何解決它?

答案1

您所描述的內容應該有效,但您可能需要登出並重新啟動 apache,以便他們可以取得新的群組成員資格。

如果此資料夾位於 Webroot 下,則可以合理地將其視為 Web 伺服器的“屬性”,因此您可以將其保留為使用者 www-data 和群組 DevGroup 所有,這將確保 Web 伺服器始終能夠存取它。

相關內容