2014-04-23 49 views
2

我正在使用CentOS。爲什麼apache無法寫入文件夾,即使它是該組的成員?

我有一個目錄,如:

drwxrwsr-x 2 someuser deploy 4096 Apr 23 23:29 logs

Apache是​​部署組的成員:

deploy:x:509:dev,apache

我相信,我敢肯定,用戶Apache正在實際上是「apache」:

$ ps aux | egrep '(apache|httpd)' 
apache 26573 0.0 2.6 429516 13176 ?  S 22:54 0:00 php-fpm: pool www 

因此,如果該組擁有寫入權限,並且該組是deploy,並且apache用戶是該組的一部分,爲什麼不能寫入該文件夾?如果我將組更改爲apache,那麼apache可以編寫,但我不明白爲什麼這將是必要的。

感謝您的幫助。

+1

這是一個CentOS機器 - SELinux運行嗎?如果是這樣,您需要在該目錄上設置正確的httpd讀/寫上下文。 –

+0

'/ usr/sbin/getenforce'查看SELinux是否處於活動狀態...... –

+0

'$/usr/sbin/getenforce'返回 已禁用 – vcardillo

回答

2

您是否在添加到部署組後重新啓動apache? (我不會 期望需要重啓)並且Apache錯誤日誌給你 以外的任何細節'權限被拒絕'? - Michael Berkowski

這使我走下了正確的道路。其實我重啓了apache服務。但是,當我按照Michael的建議檢查Apache日誌時,它們是空的。經過進一步的研究,事實證明nginx正在處理這臺服務器上的請求,並且PHP正在通過php-fpm服務運行。由於php-fpm已經設置爲以apache用戶身份運行,並且我已經添加了apache作爲部署組的成員,所以只需重新啓動php-fpm服務即可。謝謝你幫我解決這個問題。

+0

感謝您對php-fpm的提示。這正是我的情況。超過一個小時試圖找出這個.. –

+0

同樣在這裏,並感謝谷歌找到這個問題/答案。我從來沒有想過要重新啓動php-fpm服務。 –

相關問題