Apache目錄訪問許可權配置詳解
阿新 • • 發佈:2019-02-01
給指定的資料夾配置對應的訪問許可權是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,Deny Allow from all Deny from 112.2.10.2 #先允許所有使用者訪問,再拒絕112.2.10.2 #總結:允許除IP為112.2.10.2外的所有使用者訪問</Directory>
<Directory /web> Order Allow,Deny Deny from 112.2.10.2 Allow from all #先允許所有使用者訪問,再拒絕112.2.10.2 #總結:允許除IP為112.2.10.2外的所有使用者訪問 #(即使Deny指令在Allow指令之前,但是根據Order Allow,Deny語句,仍然先看Allow,再看Deny) </Directory>
<Directory /web> Order Deny,Allow Deny from 112.2.10.2 Allow from all Deny from 123.10.10.1 #先拒絕112.2.10.2訪問 #再拒絕123.10.10.1訪問 #最後允許所有使用者訪問 #總結:允許所有使用者訪問 #(即使Allow指令在Deny指令前,但是根據Order Deny,Allow語句,仍然先看Deny,再看Allow) </Directory>