apache访问权限与验证
来源:互联网 发布:云计算四种部署模式 编辑:程序博客网 时间:2024/06/05 15:11
访问验证方式
- Require all granted
允许所有请求访问资源
Require all denied
拒绝所有请求访问资源
Require env env-var [env-var] ...
当指定环境变量设置时允许访问
Require method http-method [http-method] ...
允许指定的http请求方法访问资源
Require expr expression
当expression返回true时允许访问资源
Require user userid [userid] ...
允许指定的用户id访问资源
Require group group-name [group-name] ...
允许指定的组内的用户访问资源
Require valid-user
所有有效的用户可访问资源
Require ip 10 172.20 192.168.2
允许指定IP的客户端可访问资源
Require not group select
select组内的用户不可访问资源
设置资源访问限制
以下[]中的表示可选项,实际中不能包含[]及其内容
一、指定目录的AuthType
<Directory /root/apache2>
AuthType Basic [None | Basic | Digest | Form]
</Directory>
二、设置AuthName,该信息将在客户端提醒框上显示
<Directory /root/apache2>
AuthType Basic [None | Basic | Digest | Form]
AuthName "Entry username and password"
</Directory>
三、指定AuthUserFile,指定用户名和密码存放的文件,密码文件的创建参考附录一
<Directory /root/apache2>
AuthType Basic [None | Basic | Digest | Form,后三种为不同的加密方式]
AuthName 请输入用户名和密码
AuthUserFile /usr/file/password
</Directory>
四、设置验证方式
<Directory /root/apache2>
AuthType Basic [None | Basic | Digest | Form]
AuthName "Entry username and password"
AuthUserFile /usr/file/password
Require user rote [验证方式参考 http://roteg.iteye.com/blog/1465380]
</Directory>
附录一、创建用户信息文件
使用 htpasswd -c /root/apache2/auth/password rote 123
若AuthType使用的是digest,则是用htdigest创建密钥文件
创建文件passwd,并初始创建用户rote,密码123
验证、
客户端访问时会提示“Entry username and password”,输入rote/123才可访问资源
Authentication Provider Aliases
以下是一个简单的目录上下文配置
<Directory /root/apache2/doc>
AuthType Basic
AuthName Document
AuthUserFile /root/apache2/auth/passwd
Require user rote
</Directory>
上面是通过AuthUserType指定的用户信息文件,还可通过下面两种方式设置授权,效果同上
一、用户文件
<AuthnProviderAlias file pwdfile>
AuthUserFile /root/apache2/auth/passwd
</AuthnProviderAlias>
<Directory /root/apache2/doc>
AuthType Basic
AuthName Document
AuthBasicProvider pwdfile
Require user rote
</Directory>
二、LDAP
<AuthnProviderAlias ldap ldap1>
AuthLDAPBindDN cn=rote,o=ctx
AuthLDAPBindPassword 123
AuthLDAPURL ldap://ldap.host/o=ctx
</AuthProviderAlias>
<AuthnProviderAlias ldap ldap2>
AuthLDAPBindDN cn=rote,o=dev
AuthLDAPBindPassword 123
AuthLDAPURL ldap://other.ldap.host/o=dev?cn
</AuthProviderAlias>
<Directory /webpages/secure>
AuthBasicProvider ldap1 ldap2
AuthType Basic
AuthName LDAP
Require valid-user
</Directory>
使用auth_dbm
- 一、AuthDBMUserFile
<AuthnProviderAlias file ufile>
AuthUserFile /root/apache2/auth/userfile
</AuthnProviderAlias>
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider ufile
Require valid-user
</Directory>
假如有成百上千个用户在userfile文件中,那么使用这种方式效率极低,应使用
AuthDBMUserFile,使用步骤如下
1.1 使用htdbm生成dbm文件
./htdbm -bc /root/apache2/auth/userdbm dbm1 dbm1
上述命令将生成userdbm.dir和userdbm.pag文件,并创建用户dbm1,密码dbm1
1.2 配置AuthDBMUserFile
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider dbm
AuthDBMUserFile /root/apache2/auth/userdbm
</Directory>
按照上述配置后,访问资源需提供userdbm中存在的用户。
二、AuthDBMGroupFile
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider dbm
AuthDBMUserFile /root/apache2/auth/userdbm
AuthGroupFile /root/apache2/auth/groupfile
Require group group1
</Directory>
上述指定只有组group1中的用户可访问资源,同样,如果groupfile中的数据很多,
效率也会很低,应使用AuthDBMGroupFile,使用如下
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider dbm
AuthDBMUserFile /root/apache2/auth/userdbm
AuthDBMGroupFile /root/apache2/auth/groupfile
Require group group1
</Directory>
注:当使用AuthBasicProvider dbm时,原AuthUserFile即使指定了apache也不会加载使用其中的用户!
- apache访问权限与验证
- apache 访问权限 小结
- Apache访问权限设置
- Apache Shiro权限验证框架
- nagios访问apache权限问题解决
- 设置权限,让内网访问apache
- apache设置目录访问权限
- Apache服务器访问权限设置
- apache 2.4 访问权限配置
- 继承与访问权限
- 继承与访问权限
- 继承与访问权限
- 包与访问权限
- apache为某个文件访问设置权限
- Apache下子目录访问权限的设置
- Apache中目录权限访问控制配置
- Apache下目录访问权限设置
- Apache虚拟主机VirtualHost的目录访问权限
- C#与C++、Java之比较概览
- windows XP下 oracle10.2.0.4 升级到oracle11.2.0.1
- HDU 1874 畅通工程续
- leetcode做题总结,题目Longest Valid Parentheses 2012/02/29
- AS3 实现读取本地数据
- apache访问权限与验证
- 二叉查找树的简单C++实现
- hdu a strang lift
- cocosbuilder源码编译
- hd 2070 Fibbonacci Number
- hdoj -2603 Bone Collector
- ny 13 斐波那契额数列
- ACdream 1154 Lowbit Sum(数学:推理)
- 社会心理学(一)