Apache目录访问权限配置详解

给指定的文件夹配置对应的访问权限是Apache配置中的基础应用,也是Apache使用者的必备技能之一。

在Apache配置文件中,给指定目录设置基本的访问权限,主要是靠AllowDenyOrder三个指令的配合使用来实现的。

1、Allow指令

Allow指令的作用与其英文单词的含义一致,用于设置允许访问当前目录(及其子目录)或文件的用户范围。例如,Allow from all表示允许所有用户访问。下面,我们参考更多的例子,以帮助理解(DenyOrder用法一致):

<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指令在同一配置段中都可以有多条。不过,对于AllowDeny指令而言,如果先生效的指令与后生效的指令的作用范围存在冲突,则起冲突的作用范围部分以后生效的指令为准。

下面,我们同样参考几个具体的例子以帮助大家理解:

<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>


赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏