basic认证
Posted Hi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了basic认证相关的知识,希望对你有一定的参考价值。
定义安全域
先创建目录,并在目录forum目录下创建页面
#mkdir /www/htdocs/forum
#cd !$
#vim forum/index.html //添加Page at admin
编辑主配置文件,添加如下内容发
<Directory "/www/htdocs/admin">
Options None
AllowOverride None
AuthType Basic
AuthName "Admin private"
AuthUserFile "/etc/httpd/conf.d/.htpasswd"
Require valid-user
</Directory>
此时如果在浏览器中键入http://192.168.108.160/admin/就需要授权了
(2) 提供账号和密码存储(文本文件)
使用htpasswd命令进行管理
htpasswd [options] passwordfile username
-c: 自动创建passwordfile,因此,仅应该在添加第一个用户时使用;
-m: md5加密用户密码;
-s: sha1加密用户密码;
-D: 删除指定用户
示例:
# htpasswd -c -m /etc/httpd/conf.d/.htpasswd tom //添加tom用户,第一次用-c,第二次就不再用了
# htpasswd -m /etc/httpd/conf.d/.htpasswd jerry //.htpasswd是隐藏文件
#tpasswd -m /etc/httpd/conf.d/.htpasswd obama
如果basic认证中Require valid-user改为Require user tom ,那么jerry就不能访问了
(3) 实现基于组进行认证
<Directory "">
Options None
AllowOverride None
AuthType Basic
AuthName "STRING"
AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE"
AuthGroupFile "/PATH/TO/HTTPD_GROUP_FILE"// 多加一行
Require group GROUP1 GROUP2 ...//指明组
</Directory>
要提供:用户账号文件和组文件;
用户账号文件跟上面步骤2一样
组文件:每一行定义一个组//手动创建
GRP_NAME:user1 user2 user3 ...//这里的user一定是在AuthUserFile文件中定义了才行,所以用户文件必须存在
示例:
#vim /etc/httpd/conf.d/.htgroup //创建组用户,添加 admin:tom obama
#vim /etc/httpd/conf/httpd.conf //修改<Directory>内容如下
<Directory "/www/htdocs/admin">
Options None
AllowOverride None
AuthType Basic
AuthName "Admin private"
AuthUserFile "/etc/httpd/conf.d/.htpasswd"
AuthUserFile "/etc/httpd/conf.d/.htgroup"
Require group admin
</Directory>
#service httpd reload
以上是关于basic认证的主要内容,如果未能解决你的问题,请参考以下文章
(chap8 确认访问用户身份的认证) BASIC认证(基本认证)
HTTP 基本认证(basic auth)和摘要认证(digest auth)区别