Apache檔案許可權設定的小竅門

2021-05-23 04:38:05 字數 1058 閱讀 9653

通過這篇文章中的這件事,讓我對linux下apache的設定和linux的許可權機制有了進一步的了解,雖然原理是很簡單的,但長期使用windows伺服器的同志們未必就會知道。

情況是這樣的,我這裡為了日常除錯程式方便,對程式檔案有兩個小要求,一是最好儲存在home目錄下,便於操作,二是檔案的owner最好還是使用者我,而不是apache,但要求既能夠正常編輯,由能夠正常的執行(在apache下,web訪問)。因此,在home目錄下建立了乙個目錄php,並且在apache中新建了乙個別名alias指向/home/fwolf/php目錄。重啟apache讓設定生效後,卻發現訪問http://localhost/php返回「403 forbidden」拒絕訪問錯誤,問題到底出在**呢?

進一步通過google查詢之後,找到了一種除錯許可權的好方法:先su到root使用者,再su www-data切換到www-data的使用者環境,直接訪問目標檔案看是否「permission denied」(以前怎麼就想不到呢)。結果如下:

$ su password: # su www-data sh-3.1$ ls ls: .: permission denied sh-3.1$ cd /home/fwolf sh: cd: /home/fwolf: permission denied sh-3.1$ cd /home/fwolf/php sh: cd: /home/fwolf/php: not a directory

果然,雖然php目錄的許可權是755,按理說www-data應該能夠訪問的,但這時卻不行,繼續查詢原因。。。原來問題出在了php目錄的上級目錄/home/fwolf上:

drwx—— 36 fwolf fwolf 4096 2006-08-27 15:53 fwolf

原來,上級目錄/home/fwolf只允許使用者fwolf本人訪問,www-data雖然能夠訪問下級目錄php,但無法「通過」上級目錄,自然會產生403錯誤了。所以把/home/fwolf的許可權更改為750,同時www-data已經被加到了fwolf組中,apache訪問就正常了。

補充說明:linux系統中,目錄的許可權要有x才能進入。

Apache訪問許可權設定

本文的httpd版本號為httpd 2.4.4,事先關閉防火牆和selinux。要想實現linux下apache對web頁面的訪問控制許可權設定,主要需要修改的是 etc httpd httpd.conf這個檔案 切記 一旦修改 etc httpd httpd.conf必須重啟httpd服務,否則不...

apache 設定目錄許可權控制

1。首先要有apache 的認證模組,預設都會安裝。2.編輯httpd.conf檔案 修改工作目錄下的配置,將allowoverride 更改為 authconfig 3.用htpasswd建立乙個密碼檔案,比如檔案名叫 my.pass 建立htpasswd c b my.pass myuserna...

apache 設定目錄許可權控制

1。首先要有apache 的認證模組,預設都會安裝。2.編輯httpd.conf檔案 修改工作目錄下的配置,將allowoverride 更改為authconfig options indexes followsymlinks allowoverride authconfig order allow...