博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apache配置Directory目录权限的一些配置
阅读量:5011 次
发布时间:2019-06-12

本文共 2325 字,大约阅读时间需要 7 分钟。

 

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

Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all

(1)定义目录使用哪些特性

Options Indexes MultiViews

Options选项用于定义目录使用哪些特性,包括Indexes、MultiViews和ExecCGI等,如表7-1所示。

表7-1           目录特性选项

 

命    令 说    明
Indexes 允许目录浏览

当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中),如图7-8所示

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

MultiViews其实是Apache的一个智能特性。当客户访问目录 中一个不存在的对象时,如访问“http://192.168.16.177/icons/a”,则Apache会查找这个目录下所有a.*文件。由于 icons目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息

All All包含了除MultiViews之外的所有特性,如果没有Options语句,默认为All
ExecCGI 允许在该目录下执行CGI脚本
FollowSymLinks 可以在该目录中使用符号连接
Includes 允许服务器端包含功能
IncludesNoExec 允许服务器端包含功能,但禁用执行CGI脚本

让主目录允许目录浏览

细心的用户可能会发现虽然在主目录设置了Indexes权限,且主目录中并不存在默认文档,但访问时并不会出现目录列表,而只出现Apache的测 试页面。解决这个问题的方法很简单,只要将位于/etc/httpd/conf.d/目录下的welcome.conf文件删除后重启Apache即可。

允许目录浏览要小心

一旦定义允许目录浏览,就会将Web站点的文件夹和文件名结构暴露给黑客。目录浏览还会允许黑客浏览文件并掌握服务器配置信息,所以指定该权限往往带来安全性上的隐患。除非有充足的理由要使用目录浏览,否则应该禁用它。

(2)设置.htaccess文件中的指令类型

AllowOverride None

AllowOverride选项用于定义位于每个目录下.htaccess(访问控制)文件中的指令类型。基于安全和效率的原因,虽然可以通 过.htaccess来设置目录的访问权限,但应尽可能地避免使用.htaccess文件,所以一般将AllowOverride设置为”None”,即 禁止使用.htaccess文件,而将目录权限的设置放在主配置文件httpd.conf的<Directory> 和</Directory>语句之间。

(3)设置缺省的访问权限与Allow和Deny语句的处理顺序

Order allow, deny

Order选项用于定义缺省的访问权限与Allow和Deny语句的处理顺序。Allow和Deny语句可以针对客户机的域名或IP地址进行设置,以决定哪些客户机能够访问服务器。Order语句通常设置为以下两种值之一。

allow, deny:缺省禁止所有客户机的访问,且Allow语句在Deny语句之前被匹配。如果某条件既匹配Deny语句又匹配Allow语句,则Deny语句会起作用(因为Deny语句覆盖了Allow语句)。

deny, allow:缺省允许所有客户机的访问,且Deny语句在Allow语句之前被匹配。如果某条件既匹配Deny语句又匹配Allow语句,则Allow语句会起作用(因为Allow语句覆盖了Deny语句)。

下面举一些例子来说明Order、Allow和Deny语句的使用方法。

【例1】允许所有客户机的访问。

Order allow,denyAllow from all

【例2】除了来自hacker.com域和IP地址为192.168.16.111的客户机外,允许所有客户机的访问。

Order deny ,allowDeny from hacker.comDeny from 192.168.16.111

【例3】仅允许来自网络192.168.16.0/24客户机的访问。

Order allow,denyAllow from 192.168.16.0/24

对比:

Order deny ,allowAllow from 192.168.16.0/24

这两条语句是允许所有客户机的访问。

【例4】仅允许来自网络192.168.16.0/24客户机的访问,但IP地址为192.168.16.111的客户机除外。

Order allow,denyAllow from 192.168.16.0/24Deny from 192.168.16.111对比:Order deny ,allowAllow from 192.168.16.0/24Deny from 192.168.16.111

由于Allow语句覆盖了Deny语句,因此这3条语句是允许所有客户的访问

转载于:https://www.cnblogs.com/jamescr7/p/8267532.html

你可能感兴趣的文章
【 D3.js 高级系列 — 8.0 】 打标
查看>>
Mac必备软件推荐
查看>>
Android Gson深入分析
查看>>
display:flow-root
查看>>
判读字符串是否为空的全局宏-分享
查看>>
iOS中Block的基础用法
查看>>
mac 终端 使用ftp命令
查看>>
22-reverseString-Leetcode
查看>>
Centos 开机自动联网
查看>>
cocos2dx使用lua和protobuf
查看>>
使用Spring配合Junit进行单元测试的总结
查看>>
HDOJ 5630 Rikka with Chess
查看>>
netcore2.1 在后台运行一个任务
查看>>
PostgreSQL pg_hba.conf 文件简析
查看>>
android o logcat read: unexpected EOF!
查看>>
[Scrum]2010/12/28 —— 第一天!
查看>>
ASP.NET MVC模式 温习(一)排除MVC模式误区
查看>>
Mysql的read_only 只读属性说明 (运维笔记)
查看>>
DOCKER 从入门到放弃(五)
查看>>
Python 多线程学习
查看>>