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)区别

HTTP 基本认证(basic auth)和摘要认证(digest auth)区别

HTTP认证之基本认证——Basic

Basic认证方式访问url

配置Apacha Basic认证