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

原文地址:https://www.cnblogs.com/web200/p/10734864.html

时间: 2024-11-01 21:34:43

apache目录权限控制的相关文章

Nginx|Apache目录权限禁止执行PHP设置

Ngnix: location ~ /upload/.*.(php|php5)?$ { deny all; } 这就是禁止upload内执行php,但是图片可以打开哦 多目录禁止: location ~ /upload|upload1|upload2/.*.(php|php5)?$ { deny all; } 这就禁止了upload,upload1,upload2三个目录 Apache: .htaccess控制,适用于没有服务器管理权限.在可写文件夹的目录下,建一个.htaccess文件,内容为

apache访问权限控制和.htaccess文件

例: <VirtualHost *:80>    DocumentRoot /opt/www/demo.test.com/    ServerName demo.test.com        <Directory "/opt/www/demo.test.com/">            Options FollowSymLinks            AllowOverride all            Order allow,deny        

了解权限控制框架shiro 之实际应用.

Apache Shiro 1.权限控制分为 a.粗粒度 URL 级别权限控制     b.细粒度方法级别权限控制 2.使用shiro进行权限控制主要有四种主要方式 : a. 在程序中 通过 Subject 编程方式进行权限控制 b. 配置 Filter 实现 URL 级别粗粒度权限控制 c. 配置代理,基于注解实现细粒度权限控制 d. 在页面中使用 shiro 自定义标签实现 页面显示权限控制 3.shiro实际应用之基本配置: a.用父工程引入shiro b.配置web.xml c.配置app

Saiku权限控制(四)

Saiku的权限控制主要包含两方面的权限: 数据源(Cube)权限控制 和 保存好的文件以及目录权限控制 一.新增Saiku用户信息与角色信息 Saiku默认的用户就是admin,这也是权限最高的一个用户,admin用户的角色是 ROLE_ADMIN admin用户可以查看到其他用户的文件目录信息,能新增用户,新增角色,也只有admin能操作管理控制平台. 1.1  Saiku新增用户  1> 登录saiku后,点击 A 进入管理控制台  2> 进入用户管理栏位  User Managemen

Apache Permission denied (httpd.conf配置和目录权限无问题)解决办法

今天在CentOS5.9中配置zabbix时出现错误:Apache 403 error, (13)Permission denied: access to / denied 检查了一圈httpd.conf和目录权限,均没有发现问题. 最后,看了这篇文章,发现是因为系统启动了SELINUX导致的. http://stackoverflow.com/questions/8816836/apache-403-error-13permission-denied-access-to-denied-fedo

ProFTPD配置匿名登录与目录访问权限控制

对ProFTPD服务器配置匿名登录. 查看配置文件proftpd.conf.默认情况下配置文件中的,匿名登录配置User和Group均为ftp.查看/etc/passwd确认用户ftp,是否存在.命令行输入id ftp,查看用户ftp的所在组.查看/etc/group,确定用户组ftp是否存在. 上述步骤中,如果缺少用户或组,新建即可. User    ftp Group ftp UserAlias   anonymous ftp   #设置匿名用户以ftp身份登录 --------------

Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/files/LoginTest.txt------/data/data/(包名)/files/(文件名) 导出的文件内容: 三.实现代码 新建一个Android 工程.这里我选择的是2.1即API 7,进行开发的,其它都是默认下一步下一步即可. /datasave/res/layout/activity

apache配置Directory目录权限的一些配置

可以使用<Directory 目录路径>和</Directory>这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体 的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用.下面是主配置文件中设置目录权限的例子. <Directory "/var/www/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow

C#设置与获取目录权限(.net控制ACL)

找到两种方式可以修改文件夹的权限 第一种: 想用c#来设置和读取ntfs分区上的目录权限,找了很多资料,未果.终于发现了一段vb.net的代码,做了修改,以C#展示给大家. using System; using System.Collections; using System.IO; using System.Security.AccessControl; static class Tester {     public static void Main()     {         try