首页 > 其他分享 >httpd基于用户的访问控制

httpd基于用户的访问控制

时间:2022-08-18 18:03:41浏览次数:51  
标签: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
From: https://www.cnblogs.com/Yuanbangchen/p/16599618.html

相关文章

  • httpd--status页面
    LoadModulestatus_modulemodules/mod_status.so <Location"/status"> SetHandlerserver-status #限制谁可以访问 <requireany> requirealldenied re......
  • httpd--虚拟主机
    17、虚拟主机站点标识:socket IP相同,但端口不同 IP不同,但端口均为默认端口 FQDN不同:请求报文中首部Host:www.magedu.com有三种实现方案: 基于ip:为每个虚拟主机准......
  • httpd安装和使用
    httpd功能特性虚拟主机IP、Port、FQDNCGI:CommonGatewayInterface,通用网关接口反向代理负载均衡路径别名丰富的用户认证机制basicdigest支持第三方模块新特......
  • httpd配置参数说明
    1、显示服务器版本信息 ServerTokensMajor|Minor|Min[imal]|Prod[uctOnly]|OS|Full 建议使用:ServerTokensProd(curl-IIP_HOST)2、监听的IP和Port和servername......
  • 记一次linux用户登录Account locked due to failed logins
    1.背景对端sftp登录传输文件,一直登录不上,一会可以登录,一会又不行,知道彻底登录不上。2.处理#查看被锁次数pam_tally2--usertest#清除次数pam_tally2--user=te......
  • http配置文件说明--站点访问控制常见机制
    8、站点访问控制常见机制可基于两种机制指明对哪些资源进行何种访问控制访问控制机制有两种:客户端来源地址,用户账号文件系统路径: <Directory“/path">...</Directo......
  • postman 信息头用户名密码如何在jmeter中实现
    场景:需要测试一个登录场景,postman中是basicauthor,如何在jmeter中实现?  方法一:jmeter配置元件中有"HTTP授权管理器",选择对应的组件   方法二:提前对用户名密......
  • 用户在某天刷题后第二天还会再来刷题的平均概率
    ======题目=============================用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据======oracle数据库=================insertintoquestion_p......
  • 手机网页限制用户缩放代码 (2014-03-25 18:16:52)
    网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放。    width-viewport的宽度height-viewport的高度  initi......
  • 6、Python语法入门之与用户交互、运算符
    6、Python语法入门之与用户交互、运算符  目录一程序与用户交互1.1什么是与用户交互?1.2为什么要与用户交互?1.3如何与用户交互1.3.1输入inpu......