apache目录权限控制

Posted NEW一个对象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache目录权限控制相关的知识,希望对你有一定的参考价值。

<Directory 目录名></Directory>  定义一个目录

 

Options:目录中将使用哪些服务器特性

None  //不启用任何额外特性

All  //启用除MultiViews之外的所有特性(默认设置)

Indexes  //当用户访问该目录时,找不到index文件,则返回该目录下的文件列表给用户

FollowSymLinks  //可以在该目录中使用符号连接,这样就访问目录之外的文档 

MultiViews  //允许内容协商的多重视图

Includes  //允许服务器端包含

IncludesNOEXEC  //允许服务器端包含,但禁用#exec命令和#exec CGI

ExecCGI //允许执行CGI脚本

另外:

+ 号表示合并上层目录的Options和当前目录的Options

- 号表示移除上层目录的Options选项

<Directory /> 
      Options Indexes FollowSymLinks 
</Directory> 

<Directory /www> 
    Options Includes   //当前目录只有Includes 
</Directory> 
<Directory /> 
    Options Indexes FollowSymLinks 
</Directory> 

<Directory /www> 
    Options +Includes -Indexes  //当前目录有FollowSymLinks和Includes
</Directory> 

 

AllowOverride

None //禁止搜索该目录下的.htaccess文件。
All //允许使用该目录下的.htaccess文件。

由于Apache对一个目录的访问控制设置是能够被下一级目录继承的,

因此对根目录的设置将影响到它的下级目录,

如果从根目录就允许查看.htaccess文件,

那么Apache就必须一级一级的查看.htaccess文件,对系统性能会造成影响,

因此对于系统根目录设置AllowOverride None不但对于系统安全有帮助,也有益于系统性能。

<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

 

 

目录访问控制

Apache2.2 使用order和allow,deny

Order Allow,Deny  //order决定最后使用哪一条规则
Allow from all
Deny from ip1 ip2  //deny是最后一条,符合ip1和ip2的访问会被禁止
Order Deny,Allow  //最后一条是allow,所以第三条deny不会生效
Allow from all
Deny from domain.org  
Order Allow,Deny  
Allow from ip1
Deny from all   //deny是最后一条,all包含ip1,所以所有访问都会禁止

Apache2.4 使用require

Require all granted  //允许所有访问

Require all denied  //拒绝所有访问

Require local  //仅允许本地访问(默认)

Require all granted
Require ip 192.168.0.1  //仅允许IP:192.168.0.1 访问

Require all granted
Require not ip 192.168.0.1 //仅禁止IP:192.168.0.1访问

 

以上是关于apache目录权限控制的主要内容,如果未能解决你的问题,请参考以下文章

如何限制Nginx+PHP的目录权限

nginx web 目录下权限设置哪个是对的

windows下以普通用户权限启动apache服务

springboot配置shiro权限管理,网搜搜采集网站权限控制代码

Apache Ranger及Hive权限控制

教程4 - 验证和权限