zlzyp 发表于 2018-11-20 13:44:26

apache 用户验证详解

  用户验证配置方式

用户验证配置行提示信息
       AuthType basic                                              表示进行验证的方式
       AuthName "hello"                                           表示验证时提示的信息(可随意进行填写)
       AuthUserFile /etc/httpd/conf/htpasswd         表示身份验证文件(包含用户名和密码)的物理位置    /etc/httpd/conf/htpasswd即表示为本测试中的身份验证文件的位置
       Require user admin                                       表示允许某个用户进行身份验证(该用户必须存在于身份验证文件中)    admin即表示为一个用户

       Require user adminadmin2admin3            表示允许某几个用户进行身份验证(该用户必须存在于身份验证文件中)adminadmin2admin3分别为3个用户
       AuthGroupFile /etc/httpd/conf/htgroup          表示用户组身份验证文件的位置(包含组信息和用户信息) /etc/httpd/conf/htgroup即表示本测试中用户组身份验证文件位置
       Requiregroup web                                        表示允许某个组内用户进行身份验证(组内用户必须存在于用户身份验证文件中) web则为一个用户组
       require valid-user       表示允许所有通过身份验证的用户进行登录(身份验证文件中存在的所有用户)


单用户身份验证测试:
第一步:创建身份验证文件
# cd /etc/httpd/conf
//使用htpasswd创建身份验证文件-c 为新建
# htpasswd -c htpasswd admin
New password:   //输入密码
Re-type new password://输入密码
Adding password for user admin
//查看是否建立完成
# cat htpasswd
admin:0sGtNjUM21IOI //可以看到建立的用户admin 密码默认使用了MD5加密
#


第二步:配置apache开启身份验证
在任意一个Directory里面添加需要进行apache身份认证的信息(虚拟主机中默认没有Directory需要自己进行添加)
# vim /etc/httpd/conf/httpd.conf

    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
   
       AuthType basic                                                         //默认不修改
       AuthName "hello"                                                   //编辑提示信息
       AuthUserFile /etc/httpd/conf/htpasswd                      //修改为你创建身份验证信息的位置
       Require user admin                                                   //设置允许进行身份验证的用户(身份验证文件中必须存在)
   


第三步:重启apache服务并进行访问测试
# service httpd restart
停止 httpd:                                             [确定]
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                         [确定]
#   
//浏览器访问(输入正确的用户名及密码,输入错误则会让重新输入)
//admin用户访问测试
多用户身份验证测试:
第一步:修改身份验证文件,添加多个用户
# cd /etc/httpd/conf
# htpasswd htpasswd admin1
# cat htpasswd
admin:0sGtNjUM21IOI
admin1:JswY/vtvg0OoI


第二步:修改apache配置文件允许多个用户进行身份验证

    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
   
      AuthType basic
      AuthName "hello"
      AuthUserFile /etc/httpd/conf/htpasswd
      Require user admin admin1
   




第三步:重启apache服务并进行访问测试
# service httpd restart
停止 httpd:                                             [确定]
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                         [确定]
#   
//浏览器访问(输入正确的用户名及密码,输入错误则会让重新输入)
//admin1用户登录测试//admin用户登录测试



允许所有身份验证文件中存在的用户进行身份验证测试:
第一步:修改apache使其支持apache身份验证,验证身份验证文件中存在的所有用户

    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
   
      AuthType basic
      AuthName "hello"
      AuthUserFile /etc/httpd/conf/htpasswd
       Require valid-user
   


第二步:web访问测试
//admin访问测试
//admin1访问测试

apache用户组方式身份验证
第一步:创建用户组文件
# cd /etc/httpd/conf
# vim htgroup
web:admin admin1    //用户组名称


第二步:修改apache配置文件,使其支持用户组的方式进行身份验证

    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
   
      AuthType basic
      AuthName "hello"
      AuthUserFile /etc/httpd/conf/htpasswd
      AuthGroupFile /etc/httpd/conf/htgroup         //定义用户组的配置文件
      Require group web                                        //允许验证某个用户组内的用户
   



第三步:重启apache服务访问测试



页: [1]
查看完整版本: apache 用户验证详解