ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

httpd基于用户的访问控制

2022-08-18 18:02:53  阅读:138  来源: 互联网

标签:httpd 访问控制 Require 用户 认证 etc user conf


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


basic认证配置
(1) 定义安全域
	<Directory “/path">
	Options None
	AllowOverride None
	#Require all granted
	AuthType Basic       							#认证方式
	AuthName "String“   							#登录描述信息
	AuthUserFile "/PATH/HTTPD_USER_PASSWD_FILE"  	#账号路径文件,由htpasswd命令生成
	Require user username1 username2 ...   			#允许文件中特定用户登录访问
	Require valid-user   							#允许账号文件中的所有用户登录访问
	</Directory>
(2) 提供账号和密码存储(文本文件)
	使用专用命令完成此类文件的创建及用户管理
	htpasswd [options] /PATH/HTTPD_PASSWD_FILE username 
		-c 自动创建文件,仅应该在文件不存在时使用
		-p 明文密码
		-d CRYPT格式加密,默认
		-m md5格式加密
		-s sha格式加密
		-D 删除指定用户
方法一:
1.使用htpasswd -c /etc/http/conf.d/user.list zzhz
2.配置文件设置
<directory /var/www/html/admin>
       AuthType Basic       
       AuthName  "aaaaaaa"
       AuthUserFile "/etc/http/conf.d/user.list"  
       Require valid-user   
</directory>

方法二:
1.在/var/www/html/admin下创建.htaccess文件并设置   
	AuthType Basic       
	AuthName  "aaaaaaa"
	AuthUserFile "/etc/http/conf.d/user.list"  
	Require valid-user   
2.设置配置文件
	<directory /var/www/html/admin>
		AllowOverride AuthConfig
	</directory>


基于组账号进行认证
	创建用户账号和组账号文件
	组文件:每一行定义一个组(组名在文件中随意取名,用户要使用htpasswd生成)
	GRP_NAME: username1 username2 ...

	示例:
	vim /etc/httpd/conf.d/.htgroup
		webadmins:wang mage

	<Directory "/www/htdocs/admin">
	 Options None
	 AllowOverride None
	 AuthType Basic
	 AuthName "Administator private"
	 AuthUserFile "/etc/httpd/conf.d/.htpasswd"
	 AuthGroupFile "/etc/httpd/conf.d/.htgroup"
	 Require group webadmins
	</Directory>


远程客户端和用户验证的控制(用户验证的控制有基于IP/用户的访问控制的两种)
	Satisfy ALL|Any
	ALL 客户机IP和用户验证都需要通过才可以
	Any 客户机IP和用户验证,有一个满足即可
	示例:
	Require valid-user
	<RequireAll> 
		Require all granted
		Require not ip 172.16.1.1
	 </RequireAll>
	Satisfy Any



14、实现用户家目录的http共享
基于模块mod_userdir.so实现
 相关设置:
vim /etc/httpd/conf.d/userdir.conf
	<IfModule mod_userdir.c> 
		#UserDir disabled
		UserDir public_html #指定共享目录的名称
	</IfModule> 
	<directory /home/wang/public_html>
		Require all granted
		#AuthType Basic
		#AuthName "wanghome Page"
		#AuthUserFile "/etc/httpd/conf.d/.httpuser"
		#Require valid-user
	</directory>
	准备目录
	su – wang;
	mkdir ~/public_html
	setfacl –m u:apache:x /home/wang
  访问 http://localhost/~wang/index.html

  

标签:httpd,访问控制,Require,用户,认证,etc,user,conf
来源: https://www.cnblogs.com/Yuanbangchen/p/16599618.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有