httpd基于用户的访问控制
基于用户的访问控制
实验环境
IP 192.168.253.128
系统 CentOS7
httpd版本2.4
先在主配置文件/usr/local/httpd/conf/httpd.conf修改
<Directory "/usr/local/httpd-2.4/htdocs">
Options None
AllowOverride None
AuthType Basic
AuthName "Admin" ##提示字符串
AuthUserFile "/usr/local/httpd/htdocs/.user" ##认证的配置文件,等等我们会创建
Require user hal ##允许用户hal访问
</Directory>
创建/usr/local/httpd/htdocs/.user文件
使用专用命令完成此类文件的创建及用户管理
格式:htpasswd [options] /PATH/TO/HTTPD_PASSWD_FILE username
- -c:自动创建此处指定的文件,因此,仅应该在此文件不存在时使用;
- -m:md5格式加密
- -s: sha格式加密
-D:删除指定用户
[root@www htdocs]# htpasswd -c /usr/local/httpd/htdocs/.user hal
New password:
Re-type new password:
检查配置文件,重启服务
httpd -t
httpd -k restart
测试
基于用户组的访问控制
我们假设有2个组 amdin 和user组
admin组员有ice和cube
user组内有hal
这时候 我们允许admin访问但是不允许user组访问
修改一下配置文件/usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd-2.4/htdocs">
Options None
AllowOverride None
AuthType Basic
AuthName "Admin"
AuthUserFile "/usr/local/httpd/htdocs/.user"
AuthGroupFile "/usr/local/httpd/htdocs/.group"
Require group admin
</Directory>
创建用户账号和组账号文件;
格式为:GRP_NAME: username1 username2 …每行定义一个组
创建后的文件如下
[root@www htdocs]# cat /usr/local/httpd/htdocs/.group
admin:ice cube
user:hal
创建ice和cube用户 上一个实验我们已经创建了 hal用户了就不用重复创建了。因为我们现在是添加用户所以不用-c
[root@www htdocs]# htpasswd /usr/local/httpd/htdocs/.user ice
New password:
Re-type new password:
Adding password for user ice
[root@www htdocs]# htpasswd /usr/local/httpd/htdocs/.user cube
New password:
Re-type new password:
Adding password for user cube
现在查看一下/usr/local/httpd/htdocs/.user文件
[root@www htdocs]# cat /usr/local/httpd/htdocs/.user
hal:$apr1$UK1I0KDQ$GEKjDw5WX6H5UBqHP20P0/
ice:$apr1$2Mnv.mAd$Klyabjl4mu/BLxrZRw5130
cube:$apr1$kc6vlxgz$.eH3KJ4alapHG69JEYDs0.
检查一下配置文件重启服务
httpd -t
httpd -k restart
我们现在用ice用户登陆,再用hal用户登陆。如果ice可以登陆而hal不能登陆,则试验成功
用hal登陆 不能登陆
用ice登陆 成功 测试成功
还没有评论,来说两句吧...