Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制

                                                作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.基于用户的访问控制概述

认证质询:
  WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码
认证:
  Authorization:客户端用户填入账号和密码后再次发送请求报文;认证通过时,则服务器发送响应的资源
认证方式两种:   basic:
    明文认证,不过可以配合https进行加密传输问题也不大。   digest:
    消息摘要认证,兼容性差,有的浏览器可能不支持哟~
安全域:
  需要用户认证后方能访问的路径;应该通过名称对其进行标识,以便于告知用户认证的原因
用户的账号和密码   虚拟账号:
    仅用于访问某服务时用到的认证标识   存储:
    文本文件,SQL数据库,ldap目录存储,nis等

 

二.基于basic认证配置实战案例

1>.创建测试数据

[root@node101.yinzhengjie.org.cn ~]# mkdir /var/www/html/admin
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo "/var/www/html/admin/index.html" > /var/www/html/admin/index.html
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll /var/www/html/admin
total 4
-rw-r--r-- 1 root root 31 Dec  9 06:11 index.html
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /var/www/html/admin/index.html 
/var/www/html/admin/index.html
[root@node101.yinzhengjie.org.cn ~]# 

2>.提供账号和密码存储(文本文件)

使用专用命令完成此类文件的创建及用户管理
  htpasswd [options] /PATH/HTTPD_PASSWD_FILE username
  常用选项:     
-c:
      自动创建文件,仅应该在文件不存在时使用     
-p:
      明文密码     
-d:
      CRYPT格式加密,默认     
-m:
      md5格式加密     
-s:
      sha格式加密     
-D:
      删除指定用户

具体使用案例如下图所示。
[root@node101.yinzhengjie.org.cn ~]# htpasswd -c /etc/httpd/conf.d/httpdpasswd jason          #创建第一个用户时需要使用"-c"选项创建的用户的同时会自动创建文件,若文件已经存在则清空文件所有内容重新写入咱们新创建的用户。
New password: 
Re-type new password: 
Adding password for user jason
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll /etc/httpd/conf.d/httpdpasswd 
-rw-r--r-- 1 root root 44 Dec  9 06:15 /etc/httpd/conf.d/httpdpasswd
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# date 
Mon Dec  9 06:15:33 CST 2019
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# htpasswd -s /etc/httpd/conf.d/httpdpasswd jay            #创建第二个用户时千万别在使用"-c"选项哟,不过咱们可以使用-s指定加密算法为sha格式加密哟~
New password: 
Re-type new password: 
Adding password for user jay
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# chmod 600 /etc/httpd/conf.d/httpdpasswd                 #为了安全起见,可以将文件权限改小点。
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll /etc/httpd/conf.d/httpdpasswd 
-rw------- 1 root root 82 Dec  9 06:20 /etc/httpd/conf.d/httpdpasswd
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /etc/httpd/conf.d/httpdpasswd 
jason:$apr1$fnoHrDaP$Q0ZGtsOj9D4W3xHzIKm9E/
jay:{SHA}o78nbN18sxTgXokaJRMEYOxV5b8=
[root@node101.yinzhengjie.org.cn ~]# 
htpasswd命令使用案例

相关文章: