apache对目录和地址的安全权限控制,apache权限控制


 我们很清楚apache是当今很出色的网站服务器,它使用了各种安全性控制.包括存取地址和身份控制.现在我主要是研究地址和目录控制.          apache作为是将目录作为单元作为存取控制,每一个目录都放在一个单元里面.配置文件在/usr/local/apache2/conf/httpd.conf里面.使用一个段落,首先就是/目录.这是设置的缺省值.在配置里面的显示为          <Directory />
          Options FollowSymLinks
         AllowOverride None
         Order deny,allow
          Deny from all
      </Directory> 每一个段落都是用这样的尖括号来显示的.当然你也可以定义自己的目录.主要都是在options里面.options里面主要说明一些设置,可用的选项有Indexs,FollowSymLinks,includes,ExecCGI,MultiView,然还有两个最简单的选择就是None和All。None是禁止所有选择,而All 允许上面的所有Options。一般我们主要关心的是Indexes 和FollowSymLinks。   INDEXS Indexes 是设定是否允许在目录下面没有index.html 的时候显示目录,   FollowSymLinks 而FollowSymLinks 决定是否可以通过符号连接跨越DocumentRoot。例如,尽管/ftp 不在/home/httpd/html 下面,但是我们仍然可以使用符号连接建立一个/home/httpd/html/ftp,使得可以直接输入http://mydomain.com/ftp 来访问这个目录。
以下的例子: 使用FollowSymLinks 的办法很简单,就是首先在合适的目录段落里面
Options FollowSymLinks,(符号连接的上层就可以)然后建立一个别名:
Alias /ftp/ “home/httpd/html/ftp/”
后面的是你建立的到/ftp 的符号连接。注意这一行应该位于所有目录段落之
外。   AllowOverride
AllowOverride 定义是否允许各个目录用目录中的.htaccess(后面解释)覆盖
这里设定的Options。它的选择有Options,FileInfo,AuthConfig,Limit 或者它们的
组合,当然还有None 和All。由于/是缺省设置,所以这里没有设置太多的内容,相反,我们应该在/之后独立设置各个目录的控制.   接下来是最关心的对目录的权限控制了,是常见的语法格式: Order Deny,Allow
Allow from All 设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。 同样的道理,可以实现多样的效果 按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All 如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2 apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要,下面是两个错误的例子和改正方式:   Order Deny,Allow
Allow from all
Deny from domain.org
错误:想禁止来自domain.org的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。
解决方法:Order Allow,Deny,后面两句不动,即可。 Order Allow,Deny
Allow from ip1
Deny from all
错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(all include ip1),所以所有的访问都被禁止了。
解决方法一:直接去掉第三句。
解决方法二:
Order Deny,Allow
Deny from all
Allow from ip1
 

本文出自 “Linux修炼” 博客,请务必保留此出处http://fexzi.blog.51cto.com/1131304/298552

相关内容

    暂无相关文章