【Windows 访问控制】九、AccessCheck 的工作原理
授权和访问控制组件
下图说明了授权Windows访问控制过程。 在此图中,主题 (由用户启动) 访问对象(如共享文件夹)的过程。 将用户的访问令牌中的信息与对象的安全描述 (AES) 中的访问控制项进行比较,并做出访问决策。 安全主体的 SID 用于用户的访问令牌和对象的安全描述符中的 AES。
授权和访问控制过程

安全主体与以下组件和技术密切相关:
当线程尝试访问安全对象时,系统将授予或拒绝访问。 如果该对象没有 DACL (自由 访问控制) , 则系统会授予访问权限;否则, 系统会在对象的 DACL 中查找 (AES) 应用于线程的访问控制条目。 对象的 DACL 中的每个 ACE 都指定受信者(可以是用户帐户、组帐户或登录会话)允许或拒绝 的访问权限。
DACL
系统将每个 ACE 中的受信者与线程的访问令牌 中标识的受 信者进行比较。 访问令牌包含 标识用户 (组) 标识用户和组帐户的 ID 的安全标识符。 令牌还包含标识 当前登录 会话的登录 SID。 在访问检查期间,系统会忽略未启用的组 SID。 有关已启用、禁用和仅拒绝 SID 的信息,请参阅访问令牌 中的 SID 属性。
通常,系统使用 请求 访问的线程的主访问令牌。 但是,如果线程正在模拟其他用户,则系统将使用线程的 模拟令牌。
系统会按顺序检查每个 ACE,直到发生以下事件之一:
- 拒绝访问的 ACE 显式拒绝对线程的访问令牌中列出的受信者之一的任何请求访问权限。
- 线程访问令牌中列出的受信者允许访问的一个或多个 AES 显式授予所有请求的访问权限。
- 已检查所有 AES,并且仍有至少一个请求的访问权限未显式允许,在这种情况下,将隐式拒绝访问。
下图显示了对象的 DACL 如何允许访问一个线程,同时拒绝访问另一个线程。

对于线程 A,系统读取 ACE 1 并立即拒绝访问,因为拒绝访问的 ACE 适用于线程的访问令牌中的用户。 在这种情况下,系统不会检查 AES 2 和 3。 对于线程 B,ACE 1 不适用,因此系统将继续访问 ACE 2(允许写入访问)和 ACE 3(允许读取和执行访问权限)。
由于系统在显式授予或拒绝请求的访问权限时停止检查 AES,因此 DACL 中的 AES 顺序非常重要。 请注意,如果示例中的 ACE 顺序不同,则系统可能授予了对线程 A 的访问权限。对于系统对象,操作系统在 DACL 中定义 AES 的首选顺序。
线程与安全对象之间的交互
当线程尝试使用安全对象 时,系统会先执行访问检查,然后再允许线程继续。 在访问检查中,系统将线程的访问令牌中的安全信息与对象的安全描述 符 中的安全信息 进行比较。
- 访问令牌包含 标识与 (关联的) ID 的安全标识符。
- 安全描述符标识对象的所有者,并包含 DACL (的) 。 DACL 包含 AES (访问控制) ,其中每个条目都指定允许或拒绝特定用户或组的访问权限。
系统检查对象的 DACL,从线程的访问令牌中查找应用于用户和组 SID 的 AES。 系统会检查每个 ACE,直到授予或拒绝访问,或者直到没有要检查的 ACE。 可以想象 ,ACL (访问控制) 可能有几个适用于令牌的 SID 的 AES。 如果发生这种情况,则每个 ACE 授予的访问权限都会累积。 例如,如果一个 ACE 授予对组的读取访问权限,而另一个 ACE 授予对作为该组成员的用户的写入访问权限,则用户可以同时拥有对 对象的读取和写入访问权限。
下图显示了这些安全信息块之间的关系:

【Windows 访问控制】九、AccessCheck 的工作原理的更多相关文章
- Windows下ARP协议的工作原理简介
ARP协议(Address Resolve Protocol,地址解析协议)工作在TCP/IP协议的第二层-数据链路层,用于将IP地址转换为网络接口的硬件地址(媒体访问控制地址,即MAC地址). ...
- Expo大作战(九)--expo的工作原理,以及版本发行说明
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
原文地址:http://www.cnblogs.com/baiboy/p/orc3.html 阅读目录 目录 RAC 工作原理和相关组件 ClusterWare 架构 RAC 软件结构 集群注册(OC ...
- Windows 窗体—— 键盘输入工作原理
方法 注释 PreFilterMessage 此方法在应用程序级截获排队的(也称为已发送的)Windows 消息. PreProcessMessage 此方法在 Windows 消息处理前在窗体和控件 ...
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的 ...
- Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程【转】
本文转载自:http://blog.csdn.net/mu0206mu/article/details/7465603 Android系统Recovery工作原理之使用update.zip ...
- Windows工作原理
Windows工作原理中心思想 Windows工作原理的中心思想就是“动态链接”概念.Windows自身带有一大套函数,应用程序就是通过调用这些函数来实现它的用户界面和在屏幕上显示文本与图形的.这些函 ...
- How Javascript works (Javascript工作原理) (九) 网页消息推送通知机制
个人总结: 1.介绍了网页消息推送通知机制 全文地址:https://github.com/Troland/how-javascript-works 这是 JavaScript 工作原理的第九章. 现 ...
随机推荐
- 网络流 HLPP 板子
#include<bits/stdc++.h> using namespace std; const int MM=4e5+5,inf=0x3f3f3f3f; int n,m,s,t,to ...
- 浅析Java中的线程池
Java中的线程池 几乎所有需要异步或并发执行任务的程序都可以使用线程池,开发过程中合理使用线程池能够带来以下三个好处: 降低资源消耗 提高响应速度 提高线程的可管理性 1. 线程池的实现原理 当我们 ...
- 花了半年时间,我把Pink老师的HTMLCSS视频课程,整理成了10万字的Markdown笔记!
说明:本文内容真实!!!不是推广!!! 学习前端的同学应该都或多或少听说过 Pink 老师,我个人觉得 Pink 老师的前端视频教程应该说是目前B站上最好的了,没有之一! Pink老师 HTML CS ...
- 【简记】SpringBoot禁用Swagger
楔子 Swagger 是 Java Web 开发中常用的接口文档生成类库,在开发和前后端联调时使用它来模拟接口调用能提高开发效率.但是,在生产环境可能并不需要它,一个原因是启用它会延长程序启动时间(动 ...
- HMS Core 6.3.0 版本发布公告
新增内容风控检测,若用户输入内容不符合国家法律法规要求,风控将会拦截,无法翻译手语动作. 查看详情>> 新增受众同步至HUAWEI Ads功能,实现精准投放高价值用户,提升广告效率: 新增 ...
- python引用列表--10
#!/usr/bin/python #coding=utf-8 #好好学习,天天向上 python=["a","b","c","d ...
- uni微信小程序优化,几行代码就能省100kb的主包空间?
不是标题党,我们公司的项目确确实实是省下了100kb的主包空间,而且还是在没有牺牲任何的性能和业务的前提下实现的. 但是100kb是根据项目大小,所以你用这个插件可能省下超过100kb或者更少. 直接 ...
- canvas绘制“飞机大战”小游戏,真香!
canvas是ArkUI开发框架里的画布组件,常用于自定义绘制图形.因为其轻量.灵活.高效等优点,被广泛应用于UI界面开发中. 本期,我们将为大家介绍canvas组件的使用. 一.canvas介绍 1 ...
- 【转】MySql根据经纬度获取附近的商家
创建geo表 create table geo( geo_id INT NOT NULL AUTO_INCREMENT, lng float NOT NULL, lat float NOT NULL, ...
- 安装Linux8.3.2011
镜像地址:http://mirrors.aliyun.com/centos/8.3.2011/isos/x86_64/ 非DVD镜像安装时的安装源地址:http://mirrors.aliyun.co ...