设为首页 收藏本站
查看: 802|回复: 0

[经验分享] http服务(二)——apache基于用户名访问控制

[复制链接]

尚未签到

发表于 2018-11-21 10:53:12 | 显示全部楼层 |阅读模式
  当访问某些网站或网页时需要输入用户名和密码。身份认证是防止非法用户使用资源的有效手段,也是管理注册用户的有效方法,现在很多网站都使用身份认证来管理用户资源,对用户的访问权限进行严格的限制。Apache 服务器允许在全局访问配置文件或用户的“.htaccess”文件中对目录进行强制口令保护。对于口令保护的目录,必须为四个不同的命令指定相应的值,即AuthName、AuthType、AuthUserFile和AuthGroupFile 命令。下面分别来介绍。
(1) AuthName。AuthName 命令是一个短的字符串,告诉用户他们所被询问的口令,如:
“Please input you valid username and password:”。
(2) AuthType。AuthType 命令标识了服务器使用的鉴别方法。AuthType 可以选择两个设置之一:Basic 和Digest。如果将AuthType 设为Basic,使用的就是标准的和基于Unix 加密方式的口令系统,还需使用AuthUserFile 命令。如果将其设为Digest,使用的就是MD5加密方式,这是一种更为安全的编码系统。在大多数站点上不应该使用Digest,因为它还没有得到大多数浏览器的支持,但是在Intranet 和可以决定所有用户使用的浏览器软件的小规模的应用中,它是可以使用的。
(3) AuthUserFile。AuthUserFile 命令指定了目录中Apache 服务器用户口令文件的全路径名。可以使用htpasswd 程序来创建口令文件。
(4) AuthDigestFile。如果使用的是Digest 鉴别方式,就要使用AuthDigestFile 作为口令名单。与AuthUserFile 相同,只要将AuthDigestFile 设置为口令文件的路径名和文件名即可。要创建文摘式的口令文件,可以使用htdigest 程序。
(5) require。require 命令指定需要什么条件才能被授权访问。可以使用这个命令强制对一目录的口令保护。这个命令后面应该跟一份“实体”名单。这些实体可以是AuthUserFi1e或AuthGroupFile 命令所定义的用户或组的名称,也可以使用“valid-user”的关键字,告诉服务器在AuthUserFile 中的任何用户只要能够提供有效的口令就允许进行访问。它可以只列出可能连接的指定用户、指定可能连接的用户的一个组或多个组的清单,如:
require user user1 user2
#只有user1 和user2 可以访问。
require group test
#只有test 组可以访问。
下面通过一个具体的实例来讲述基于主机的Apache 的访问控制。
【实例12.6】
本实例是对/usr/apache/htdocs 目录进行保护,需要合法的用户名和口令才能访问。操作过程如下:
(1) 配置httpd.conf 文件。在httpd.conf 文件中的配置模块代码如下:

#该模块的作用目录为/usr/apache/htdocs/。
AuthName Protected
#提示用户的信息为“Protected”。
AuthType basic
# AuthType 鉴别方法是basic。
AuthUserFile /usr/apache/conf/users
# 这一行很重要,它指定了验证用户名和口令的路径和文件名。

# 限制HTTP 协议中的GET 和POST 方法。
require valid-user
# 需要合法的用户,即在/usr/apache/conf/users 文件中的用户。


(2) 生成用户密码文件。命令htpasswd 可以帮助我们完成这项任务。
比如说我们想要生成lgm 用户密码文件,操作如下:
[root@redflag /root]# htpasswd –c -m /usr/apache/conf/users lgm 123456
其中123456 是用户lgm 的验证密码。-m表示以md5方式加密,
如果想要生成多个用户,则需要去掉-c参数,否则会覆盖前面内容,操作如下:
[root@redflag /root]# htpasswd –m /usr/apache/conf/users test 123456
执行完上述的命令后,可以查看users 文件的内容,操作如下:
[root@redflag /root]#cat /usr/apache/conf/users
内容如下:
lgm:bBdPD1.jOo3tQ
test:3PIo6y6wDBuI2
(3) 测试。重新启动Apache 服务器后,在浏览器中输入本机IP,要求输入用户名和密码才能访问。
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-637688-1-1.html 上篇帖子: Apache配置通过多个端口访问多虚拟机 下篇帖子: http服务(三)——apache配置个人主页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表