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]