安全标识符

安全标识符 编辑
安全标识符(Security Identifiers,SID),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。
中文名 SID 外文名 Security Identifiers,SID 所属学科 IT 所属领域 安全
目录
1 构成
2 作用
3 号码组成
4 获得
5 重复问题
6 问题解决
构成编辑
一种不同长度的数据结构,用来识别用户、组和计算机帐户。网络上每一个初次创建的帐户都会收到一个唯一的 SID。Windows 中的内部进程将引用帐户的 SID 而不是帐户的用户名或组名。
这个安全标识符可以这样给你讲,它是一串特殊的字符串,在你这台电脑如果有和它相同的东西,但不会和他一样的,而这个字串是电脑内部用到的,用户接触不到的。一般这种安全标识符是指当你新建一个用户后,电脑就会为这个用户生成一个特殊的安全标识符 (SID),如果新建一个用户组(当然很少用到这个,多是在用到类局域网的域才用到),也会如此;当你把这个用户或组删了后,再以同样用户名新建一个用户,而你之前建的那个用户名和你这个用户名就不是一回事了,其区别就是系统为他们关联了各自的安全标识符 (SID)!
最明显的例子就是,先建一个用户,然后共享一文件夹,为文件夹设置一个高一点的网络访问权限。在另一台局域网中电脑用这个用户访问并根据权限用其最大可操作的操作它,如读、写、删除、新建等。然后把它删了,再以同样名新建它。你再在局域网中那台电脑访问这个文件夹,你就会发现问题了!
作用编辑
用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。  访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。
号码组成编辑
如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。  一个完整的SID包括:  · 用户和组的安全描述  · 48-bit的ID authority  · 修订版本  · 可变的验证值Variable sub-authority values  例:S-1-5-21-31044058 8- 2 500 36847- 5 803 895 05-500  我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。
获得编辑
开始-运行-regedit32-HKEY_LOCAL_MACHINESAMSAMDomainsBuiltinAliasesMembers,找到本地的域的代码,展开后,得到的就是本地帐号的所有SID列表。  其中很多值都是固定的,比如第一个000001F4(16进制),换算成十进制是500,说明是系统建立的内置管理员帐号administrator,000001F5换算成10进制是501,也就是GUEST帐号了,详细的参照后面的列表。  这一项默认是system可以完全控制,这也就是为什么要获得这个需要一个System的Cmd的Shell的原因了,当然如果权限足够的话你可以把你要添加的帐号添加进去。  或者使用Support Tools的Reg工具:  reg query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList  还有一种方法可以获得SID和用户名称的对应关系:  1. Regedit32:  HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion ProfileList  2. 这个时候可以在左侧的窗口看到SID的值,可以在右侧的窗口中ProfileImagePath看到不同的SID关联的用户名,  比如%SystemDrive%Documents and SettingsAdministrator.momo这个对应的就是本地机器的管理员SID  %SystemDrive%Documents and SettingsAdministrator.domain这个就是对应域的管理员的帐户  另外微软的ResourceKit里面也提供了工具getsid,sysinternals的工具包里面也有Psgetsid,其实感觉原理都是读取注册表的值罢了,就是省了一些事情。
重复问题编辑
安装NT/2000系统的时候,产生了一个唯一的SID,但是当你使用类似Ghost的软件克隆机器的时候,就会产生不同的机器使用一个SID的问题。产生了很严重的安全问题。  同样,如果是重复的SID对于对等网来说也会产生很多安全方面的问题。在对等网中帐号的基础是SID加上一个相关的标识符(RID),如果所有的工作站都拥有一样的SID,每个工作站上产生的第一个帐号都是一样的,这样就对用户本身的文件夹和文件的安全产生了隐患。  这个时候某个人在自己的NTFS分区建立了共享,并且设置了自己可以访问,但是实际上另外一台机器的SID号码和这个一样的用户此时也是可以访问这个共享的。
问题解决编辑
下面的几个试验带有高危险性,慎用,我已经付出了惨痛的代价!  微软在ResourceKit里面提供了一个工具,叫做SYSPREP,这个可以用在克隆一台工作站以前产生一个新的SID号码。 下图是他的参数  这个工具在DC上是不能运行这个命令的,否则会提示  但是这个工具并不是把所有的帐户完全的产生新的SID,而是针对两个主要的帐户Administrator和Guest,其他的帐号仍然使用原有的SID。  下面做一个试验,先获得目前帐号的SID: S-1-5-21-2000478354 - 688 78 9 844 - 839 522 115  然后运行Sysprep,出现提示窗口:  确定以后需要重启,然后安装程序需要重新设置计算机名称、管理员口令等,但是登陆的时候还是需要输入原帐号的口令。  进入2000以后,再次查询SID,得到:  S-1-5-21-759461550-1 453 070 86-51 579 9519,发现SID号已经得到了改变,查询注册表,发现注册表已经全部修改了,当然全部修改了?。  另外sysinternals公司也提供了类似的工具NTSID,这个到后来才发现是针对NT4的产品,界面如下:  他可不会提示什么再DC上不能用,接受了就开始,结果导致我的一台DC崩溃,重启后提示“安全账号管理器初始化失败,提供给识别代号颁发机构的值为无效值,错误状态0XC0000084,请按确定,重启到目录服务还原模式...”,即使切换到目录服务还原模式也再也进不去了!  想想自己胆子也够大的啊,好在是一台额外DC,但是自己用的机器,导致重装系统半天,重装软件N天?,所以再次提醒大家,做以上试验的时候一定要慎重,最好在一台无关紧要的机器上试验,否则出现问题我不负责哦?。另外在Ghost的新版企业版本中的控制台已经加入了修改SID的功能,自己还没有尝试,有兴趣的朋友可以自己试验一下,不过从原理上应该都是一样的。  文章发表之前,又发现了微软自己提供的一个工具“Riprep”,这个工具主要用做在远程安装的过程中,想要同时安装上应用程序。管理员安装了一个标准的公司桌面操作系统,并配置好应用软件和一些桌面设置之后,可以使用Riprep从这个标准的公司桌面系统制作一个Image文件。这个Image文件既包括了客户化的应用软件,又把每个桌面系统必须独占的安全ID、计算机账号等删除了。管理员可以它放到远程安装服务器上,供客户端远程启动进行安装时选用。但是要注意的是这个工具只能在单硬盘、单分区而且是Professional的机器上面用

时间: 2024-08-03 09:38:55

安全标识符的相关文章

Windows安全标识符(SID)概述

Windows每一个主体,如电脑,账户,服务等,都有一个安全标识符(Security Identifier,SID);一般来说,安全标识符是一串特殊的字符串,它代表着某一安全主体. 安全标识符有以下几部分组成: (1)安全标识符以大写字母S开头,表明是一个安全标识符: (2)修订级别,通常为1: (3) 颁发机构用来表示标识符的发行机构:以下是常用的标识符发行机构: 标识符发行机构 说明 0 Security_Null_SID_Authority,用于颁发机构不可知时 1 Security_Lo

VBS脚本获取安全标识符SID(Security Identifiers)的方法

一.SID简介       SID也就是安全标识符(Security Identifiers),是标识用户.组和计算机帐户的唯一的号码.在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID.Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名.如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户 具有不同的 SID 号.安全标识符也被称为安全 ID 或 SID.    一个完整的SID

在Windows操作系统中的常见安全标识符

概要 安全标识符(SID)是长度可变的唯一值用来标识Windows操作系统中的安全主体或安全组.著名的SID是一组标识一般用户或一般组的SID.它们的值保持在所有的操作系统保持不变.这些信息对涉及安全性问题进行故障排除非常有用.这也是可以在ACL编辑器中看到潜在的显示问题非常有用.一个SID可被显示在ACL编辑,而不是在用户或组名. 目的 本文方便DC们查找SID对应的Name等信息. 更多信息 以下是众所周知的SID: SID:S-1-0 名称:空局 说明:标识符颁发机构. SID:S-1-0

MYSQL错误代码对照大全

0101 属于其他进程的专用标志. 0102 标志已经设置,无法关闭. 0103 无法再次设置该标志. 0104 中断时无法请求专用标志. 0105 此标志先前的所有权已终止. 0106 请将软盘插入驱动器 %1. 0107 后续软盘尚未插入,程序停止. 0108 磁盘正在使用或已由其他进程锁定. 0109 管道已经结束. 0110 系统无法打开指定的设备或文件. 0111 文件名太长. 0112 磁盘空间不足. 0113 没有其他可用的内部文件标识符. 0114 目标内部文件标识符不正确. 0

Windows Server 2008 R2入门之用户管理

今天为大家带来的是Windows Server 2008 R2入门之用户管理,以便大家更快的熟悉2008r2工作组中用户.组的创建.删除.日常管理等,接下来我们直接进入正文. 一.用户账户概述: "用户"是计算机的使用者在计算机系统中的身份映射,不同的用户身份拥有不同的权限,每个用户包含一个名称和一个密码: 在Windows中,每个用户帐户有一个唯一的安全标识符(Security Identifier,SID),用户的权限是通过用户的SID记录的.SID的格式如下所示:S-1-5-21

oracle/ms sql 系统表

sql server系统表详细说明 sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 syscurconfigs主数据库当前配置选项 sysdatabases主数据库服务器中的数据库 syslanguages主数据库语言 syslogins主数据库 登陆帐号信息 sysoledbusers主数据库 链接服务器登陆信息 sysprocesses主数据库进程 sysremotelogins主数据库 远程

[官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

[官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&tid=362766&highlight=Easy%2BSysprep [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) [Easy Sysprep]概述:Easy Sy

Skyfree的毕业论文 《系统封装与部署的深入研究》

https://www.itsk.com/thread-197-1-4.html Skyfree 发表于 2007-9-13 07:25:40 关于封装与部署的深入研究 前言 从Windows95到现在的WindowsVista,Windows优秀的图形界面和可操作性,赢得了目前广泛的使用人群.虽然Windows各方面性能,特别是稳定性方面,依然有所不及Unix.Linux这些高稳定性的系统,但是它仍然不可否认的成为当前使用范围最广的操作系统.但是Windows发展了整整10于个年头,虽然Win

微软消息队列MSMQ 传输异常的总结!

公司线上环境99%是esxi的虚拟环境,随着公司线上虚拟机的增加,在部署虚拟机时我们一般都是采用模板才统一部署,当一个模板建立好后,新建虚拟机时就默认采用该模版运行,没有加入用户自定义环节. 由于公司为软件型企业且百分之九十采用的是微软的.net开发用户平台,由于平台的特殊性需要和多方面机构进行数据交换工作,根据开发的环境特点,选用的是微软系统自带的消息队列MSMQ进行数据传输, 随着msmq服务器越来越多的上线,而且会多台服务器往一台服务器上发送消息,最近频繁的发现一个问题,服务器服务正常,各