什么是Windows 安全主体SID

      前几天利用虚拟机测试Windows Server 2008 R2的 RemoteApp 功能,在测试负载均衡时,需要

多台安装了Windows 2008 R2的虚拟机,测试中采用克隆方法创建了所需虚机,但是这些虚机启动没有

问题,但是不能加入活动目录域中进行管理,通过Google,获知是由于SID的问题,由于克隆的虚机与

模板虚机重复,活动目录的管理机制无法识别,所以不能加入域中。什么是SID,下面简要说明一下,资

源来自网上,自己总结了一下,感谢网上不断无私奉献的同志们。如果修改重复的SID,将在后续的文章

中进行说明。

      SID是security identifier 的缩写,翻译过来就是安全标识符,安全标识符SID是一个值,这个值唯一

地标识一个组织内的用户、组、计算机或服务,因此在Windows管理机制中,计算机和用户均被分配其各

自的SID,用以唯一标识计算机和用户等安全主体(Security Principals),其具体表现为一个字符串如

S-1-5-21-2940582544-2862660836-2821281278。安全主体是一个能够对它分配权限的对象,例如,
用户和计算机。对于活动目录来说,每一个域的安全主体都需要惟一的安全标识符SID,不能重复,
进而可

以说,活动目录对用户、组和计算机的管理,不仅仅是通过其名称来进行的。

      那么SID字符串的各个部分意义是什么呢,具体如下:

SID串 S 1 5 21-2940582544-2862660836-2821281278  
意义 说明该字符串是安全标识符 版本标识 标识符颁发机构 域或者本地计算机标识符  

其中颁发机构取值范围如下:

0 – Null Authority

1 – World Authority

2 – Local Authority

3 – Creator Authority

4 – Non-unique Authority

5 – NT Authority

9 – Resource Manager Authority

那么如何查看用户或机器的SID呢?说明如下:

1、查看机器SID

微软提供了一个 PSTOOL 工具,其中的PsGetsid.exe可以获取计算机的SID,如下图:


psgetsid 的使用格式如下:

psgetsid [\\computer[,computer[,...] | @file [-u username [-p password]]] [account]

psgetsid支持远程使用,其中computer指远程计算机名称,如果不提供名称,则获取执行此命令的机器SID。

在执行时可以提供多个机器名称,实现对不同机器SID并发检索。如

什么是Windows 安全主体SID_第1张图片

-u -p 参数用来指定访问远程计算机的用户名和密码,如果省略-p,则在执行过程中系统将提示输入密码。

 [account]参数用来指定账户名称,查看用户的SID。

2、查看用户SID

查看用户SID有两种方法:

1)采用Whoami 命令,命令格式为 Whoami /user,如下图

什么是Windows 安全主体SID_第2张图片

此命令返回了当前登录用户的信息及SID,无论是本地用户还是域用户。

2)采用psgetsid名,命令格式为psgetsid account

此命令可以任意查看当前用户还是远程域用户的SID,如下图:

什么是Windows 安全主体SID_第3张图片


上述内容对SID做了一个概要的总结,至于SID的具体机制和在系统管理中更深入的应用,还需要有志的同学

们继续努力钻研,学无止境,其乐无穷。





你可能感兴趣的:(什么是Windows 安全主体SID)