給指定的檔案夾配置對應的存取權限是Apache配置中的基礎應用,也是Apache使用者的必備技能之一。
在Apache設定檔中,給指定目錄設定基本的存取權限,主要是靠Allow、Deny、Order三個指令的配合使用來實現的。
1.Allow指令
Allow指令的作用與其英文單詞的含義一致,用於設定允許訪問目前的目錄(及其子目錄)或檔案的使用者範圍。例如,Allow from all表示允許所有使用者訪問。下面,我們參考更多的例子,以協助理解(Deny與Order用法一致):
<Directory /web>#只允許IP為123.10.10.2的使用者訪問/web目錄Allow from 123.10.10.2</Directory>
<Directory /web>#只允許IP以10.10開頭的使用者訪問/web目錄Allow from 10.10</Directory>
<Directory /web>#只允許網域名稱為365mini.com的使用者訪問Allow from 365mini.com</Directory>
2.Deny指令
同樣的,Deny指令的作用就是“Deny(拒絕)”,用於設定拒絕訪問目前的目錄或檔案的使用者範圍。例如,Deny from all表示拒絕所有使用者訪問。
3.Order指令
在Apache的設定檔中,Order指令用於控制Allow指令和Deny指令的生效順序。例如,Order Allow,Deny表示當前配置段中的Allow指令先生效,Deny指令後生效。
在Apache中,Allow指令和Deny指令在同一配置段中都可以有多條。不過,對於Allow和Deny指令而言,如果先生效的指令與後生效的指令的作用範圍存在衝突,則起衝突的作用範圍部分以後生效的指令為準。
下面,我們同樣參考幾個具體的例子以協助大家理解:
<Directory /web>Order Allow,DenyAllow from allDeny from 112.2.10.2#先允許所有使用者訪問,再拒絕112.2.10.2#總結:允許除IP為112.2.10.2外的所有使用者訪問</Directory>
<Directory /web>Order Allow,DenyDeny from 112.2.10.2Allow from all#先允許所有使用者訪問,再拒絕112.2.10.2#總結:允許除IP為112.2.10.2外的所有使用者訪問#(即使Deny指令在Allow指令之前,但是根據Order Allow,Deny語句,仍然先看Allow,再看Deny)</Directory>
<Directory /web>Order Deny,AllowDeny from 112.2.10.2Allow from allDeny from 123.10.10.1#先拒絕112.2.10.2訪問#再拒絕123.10.10.1訪問#最後允許所有使用者訪問#總結:允許所有使用者訪問#(即使Allow指令在Deny指令前,但是根據Order Deny,Allow語句,仍然先看Deny,再看Allow)</Directory>