2013-01-20 66 views
6

我已經在centos 6中安裝了apache 2.2。當apache文件夾位於其默認位置/var/www/html時,一切正常。然後,我在我的用戶主文件夾中配置了一個虛擬主機。之後,當我試圖從瀏覽器去localhost127.0.0.1時,apache開始顯示Forbidden You don't have permission error您在CentOS中沒有Apache中的權限錯誤

這是我在httpd.conf

<VirtualHost *:80> 
     DocumentRoot "/home/anjan/workspace/mfs" 
     ServerName anjan-centOS 
     <Directory "/home/anjan/workspace/mfs"> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride All 
       Order Deny,Allow 
       Allow from all 
     </Directory> 
</VirtualHost> 

在一些文章,但被白白提到的我也被禁用SElinux使用的代碼。如果任何人都可以幫助我,將不勝感激。

+0

這看起來像一個基本的權限問題,而不是一個Apache的問題。 Apache運行的用戶是什麼?該用戶是否可以訪問'/ home/anjan/workspace/mfs'? – larsks

+1

一個好方法,以檢查是否Apache可以讀取目錄是'須藤-u apache的LS /家/安鍵/ worskapce/mfs' –

+0

@CoreyHenderson我已經改變了文件中的每個文件夾和的權限'-RW-RW-RW - '但仍然沒有運氣。任何想法爲什麼? – th1rdey3

回答

6

我解決了這個問題。在干涉系統許可後,我發現/home/anjan擁有者user "anjan"/home/anjan擁有讀/寫/執行權限,但創建user "anjan"時創建的group "anjan"根本沒有任何權限。

ls -l /home/ 

顯示

drwx------. 28 anjan anjan 4096 Jan 21 13:19 anjan 

,所以我改變了許可使用該命令

chmod -R 770 /home/anjan 
ls -l /home/ 
drwxrwx---. 28 anjan anjan 4096 Jan 21 13:19 anjan 

我我的Apache是​​從this線程運行的用戶在發現了。它運行在user "apache"

所以我用這個命令加user "apache"group "anjan"

usermod -G anjan,apache apache 

之後,瞧。沒有更多禁止錯誤。

P.S.我以root用戶身份執行了所有操作。

UPDATE 看來現在提供的鏈接已經損壞。另一個是Heres

爲了安全起見(避免將來斷開鏈接),請在此複製命令。在終端類型 -

ps axo user,group,comm | grep apache 
+0

共工作了RHEL!這是缺失的環節。感謝你! – rcd

1

這是(對我來說)至少是一個可疑的設計。它基本上意味着Apache用戶可以對所有用戶的文件進行WRITE訪問,包括例如ssh-keys的祕密。

如果一個黑客攻擊apache就沒有樂趣。

chmod -R g-rwx ~ # undo the unsafe -R first 
chmod g+rx ~ ~/workspace 
chmod -R g+rx ~/workspace/mfs 

如果apache是「安鍵」組的成員:而運行爲「安鍵」

一個簡單的修改是將。

我的建議是使用ACL:如果文件系統支持。

SELinux現在在運行嗎?它應該是這樣,如果仍然是SELinux策略塊阿帕奇對workspace/mfs訪問的人數從sealert消息應該在var中是顯而易見/ log/messages中的情況。 這個問題通常是固定setsebol的明智使用。

禁用SELinux的,因爲事情是不能正常工作,並建議該方法是njaa ....

原來的問題是,運行Apache本身的,因爲在其他類別計算權限時下跌。

chmod o+rx ~anjan/ ~anjan/workspace/ ~anjan/workspace/mfs 

應該夠了。

CentOS 6是免費的(如免費啤酒)RedHat Enterprise Linux版本,因此RedHat的文檔https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/是必需的。

+0

你已經提出了一個有效的觀點。但對我來說,我建立這就是爲什麼我把裏面的用戶主目錄中的代碼的開發環境。但對於製作,我認爲在任何用戶主目錄中放置代碼也不是一個好主意。 – th1rdey3

相關問題