本文为大家介绍有关系统SID的相关知识,有需要的朋友可以参考下。
所谓系统SID,即安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。
在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的SID。Windows 2000中的内部进程将引用帐户的SID而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的SID号。安全标识符也被称为安全ID或SID。
SID的作用:
用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给Windows系统,然后操作系统检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,系统将会分配给用户适当的访问权限。
SID的组成:
如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。
一个完整的SID包括:
□ 用户和组的安全描述
□ 48-bit的ID authority
□ 修订版本
□ 可变的验证值Variable sub-authority values
示例:S-1-5-21-310440588-250036847-580389505-500
我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。
在Windows2000/XP/2003系统中,每个用户帐号都对应着一个唯一的字符串,这就是安全标识符“Security Identifiers(SID)”,并且Windows系统也是根据SID来识别用户或组的,以及分配它们相应的访问权限。那么如何找出用户帐号对应的SID呢?下面就介绍2种方法。
方法一:使用SID工具
点击“开始→运行”,在运行对话框中输入“cmd”命令,回车后弹出命令提示符窗口,切换到SID工具所在的目录下,接着输入“sid local”命令,就列出本地系统所有的用户帐号及其帐号对应的SID,这样用户就能很方便的查找到所需要的SID,如本地系统的brucemx帐号,从命令执行结果可以看出,它对应的SID项目为“S-1-5-21-436374069-813497703-682003330-1004”。
小提示:用户帐号的安全标识符(SID)永远都是唯一的,它是由计算机名、当前时间以及当前用户态线程的CPU耗费时间总和三个参数决定的。格式为:S-R-X-Y(1)-Y(2)-……-Y(N),其中S表示该字符串是SID,R是SID的版本号, X是标志符的颁发机构 (identifier authority),Y表示一系列的子颁发机构,前面几项是标志域的,最后一个Y(N)标志着域内的用户帐户和组。