Windows SID理解
Windows安全性要依赖于几个基本元素。:访问令牌、SID、安全描述符、访问控制列表、密码、
访问令牌:访问令牌在本质上定义了两
上“P”:Permissions(权限)和Privilege(特权)。两者区别并不明显。访问令牌的内容和功能由用户的SID、组的SID、登录
SID、用户特权、默认所有者、SID、默认组SID、默认DACL、起源进程、令牌类型、模拟级别、受限SID。
权限:一个用户进程在接触一个对象时,“安全性参考监视器”将访问令牌中的SID与“对象访问控制列表(ACL)”中的SID匹配。可能出现的两种情
况:1.如果没有匹配,就拒绝用户访问,这称为“隐式拒绝(implici
deny)”;2.如果有一个区配,就将与ACK中的条目关联的权限授予给用户。这可能是Allow,也可能是一个Deny权限。在两个权限都直接指派给
对象的前提下,Deny权限将优先于Allow权限(在对待继承的权限时,采取的方式稍有不同)
SID:一个典型的SID:S-1-5-21-1683771068-12213551888-624655398-1001.它遵循的模式是:S-R-IA-SA-SA-RID。下面是具体解释:
1、字母S指明这是一个SID标识符,它将数字标记为一个SID。
2、R代表Revision(修订),Windows生成的所有SID都使用修订级别 1.
3、IA代表颁发机构。在Widnwos中,几乎所有SID都指定NT机构作为颁发机构,它的ID编号为5.但是,代表已知组和账户的SID例外。
4、SA代表一个子机构。SA指定特殊的组或职能。例如、21表明SID由一个域控制器或者一台单机颁发。随后的一长串数字(1683771068-12213551888-624655398)就是颁发SID的那个域或机器的SA。
5、RID是指相对ID(RID)、是SA所指派的一个惟一的、顺序的编号、代表一个安全主体(比如一个用户、计算机或组)
新
的已知SID:在经典NT和windows2000中,Local System账户SID
S-1-5-18为几乎所有服务提供了安全上下文,该账户具有很大的特权。Windows2003则引入了另外两个“已知SID”来为服务提供一个安全上
下文、即LocalService和NetworkService。
部分已知SID及功能见Microsoft KB243330
已
知RID:指派给用户、计算机和组的RID从1000开始。500-999的RID被专门保留起来、表示在每个Windows计算机和域中通用的账户和
组,它们称为“已知RID”有些已知RID会附加到一个域SID上,从而构成一个惟一的标识符。另一些则附加到Builtin
SID(S-1-5-32)上,指出它们是可能具有特权的Builtin账户--特权要么是硬编码到操作系统中的,要么是在安全数据库中指派的。
|
Tokenmaster可查看服务器上运行的任何进程的访问令牌的内容。
Windows SID理解的更多相关文章
- [WP8.1UI控件编程]Windows Phone理解和运用ItemTemplate、ContentTemplate和DataTemplate
2.2.5 ItemTemplate.ContentTemplate和DataTemplate 在理解ItemTemplate.ContentTemplate和DataTemplate的关系的之前,我 ...
- windows SID
显示SID whoami /user 修改SID C:\windows\system32\sysprep\sysprep.exe /generalize /oobe /reboot
- Windows消息理解(系统消息队列,进程消息队列,非队列消息)
// ====================Windows消息分类==========================在Windows中,消息分为以下三类:标准消息——除WM_COMMAND之外,所 ...
- 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
<深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...
- [转载]ACM(访问控制模型),Security Identifiers(SID),Security Descriptors(安全描述符),ACL(访问控制列表),Access Tokens(访问令牌)
对于<windows核心编程>中的只言片语无法驱散心中的疑惑.就让MSDN中的解释给我们一盏明灯吧.如果要很详细的介绍,还是到MSDN仔细的看吧,我只是大体用容易理解的语言描述一下. wi ...
- 【笨嘴拙舌WINDOWS】SetCapture和ReleaseCapture
光电鼠标器是通过红外线或激光检测鼠标器的位移,将位移信号转换为电脉冲信号,再通过程序的处理和转换来控制屏幕上的光标箭头的移动的一种硬件设备. 换句话说,鼠标无时无刻不在监视着人类的活动,当人类用意识去 ...
- 如何在Windows服务程序中读写HKEY_CURRENT_USER注册表
在服务程序中想要对注册表HKEY_CURRENT_USER下的内容进行读写,不会返回失败,但是始终无效.原因是: 1.服务运行在系统权限之下,而不是任何一个用户 2.HKEY_CURRENT_USER ...
- Windows 下 Docker 的简单学习使用过程之一 dockertoolbox
1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...
- windows c++如何使窗口动态改变位置
在windows软件中,经常会碰到一个功能:鼠标hover在某个地方时会出现窗口,有时候这个窗口的位置是会动态调整的. 熟悉使用windows API,理解windows中虚拟坐标.工作区坐标.屏幕坐 ...
随机推荐
- block(data block,directory block)、inode、块位图、inode位图和super block概念详解【转】
本文转载自:https://blog.csdn.net/jhndiuowehu/article/details/50788287 一.基本概念: 1.block:文件系统中存储数据的最小单元 ...
- Python 数值类型
1.数值类型分为整形(二进制(0b),八进制(0o),十进制,十六进制(0x) ),浮点型,long,complex(复合行) 当我们说十进制数的时候,是逢10进1,就是说到达10的时候就要向前一位进 ...
- ZooKeeper服务-数据模型
ZooKeeper是一个具有高可用性的高性能协调服务. 数据模型 ZooKeeper维护着一个树形层次结构,树中的节点被称为znode.Znode可以用于存储数据,并且有一个与之相关联的ACL(Acc ...
- MapReduce-从HBase读取数据处理后再写入HBase
MapReduce-从HBase读取处理后再写入HBase 代码如下 package com.hbase.mapreduce; import java.io.IOException; import o ...
- getchar与scanf区别
scanf可以一次按照设定的输入格式输入多个变量数据.如int d,float f,char str[20],scanf("%d%f%s",d,f,str); getchar()只 ...
- nova libvirt event
nova中利用libvirt 事件来更新vm的DB中的power状态 https://wiki.openstack.org/wiki/ComputeDriverEvents Nova compute ...
- Linux01
Linux的特点 1.免费的/开源 2.支持多线程./多用户的(这是操作系统性能的重要指标) 3.安全性好 4.对内存和文件管理优越. 1999年,IBM宣布与Redhat公司建立伙伴关系. Linu ...
- shell 学习之脚本编写1
脚本要求: 执行脚本后 接受输入1,显示当前时间,并提示是否继续选择. 接受输入2,显示CPU负载,并提示是否继续选择. 接受输入3,显示剩余内存,并提示是否继续选择. 接受输入0,退出脚本. ·· ...
- webdriver处理鼠标右键菜单栏
selenium中ActionChains类提供了鼠标操作的常用方法,但对于鼠标右键的菜单栏,无论是send_keys(Keys.ARROW_DOWN)还是send_keys("K" ...
- iOS开发中的系统版本比较
由于系统平台和SDK更新迭代,一部分过时的成员.方法会被彻底从SDK中移除,为了兼容旧的设备,这时就需要区分系统平台版本调用正确的API. 另一种情况是iOS设备的屏幕和设备参数不同,虽然UI上的Au ...