SID 组件

SID 值包括提供有关 SID 结构和唯一标识受托人的组件的组件的信息的组件。 SID 由以下组件组成:

  • SID 结构的修订级别
  • 一个 48 位标识符颁发机构值,用于标识颁发 SID 的颁发机构
  • 一个可变数量的子授权或 相对标识符 (RID) 值,这些值唯一标识相对于颁发 SID 的颁发机构的受托人

标识符颁发机构值与子授权值的组合可确保不会有两个 SID 是相同的,即使两个不同的 SID 颁发机构发出相同的 RID 值组合也是如此。 每个 SID 颁发机构只颁发给定 RID 一次。

SID结构以二进制格式存储。 若要显示 SID,可以调用 ConvertSidToStringSid 函数,将二进制 SID 转换为字符串格式。 若要将 SID 字符串转换回有效的功能 SID,请调用 ConvertStringSidToSid 函数。

这些函数对 SID 使用以下标准化字符串表示法,这使得可视化其组件更简单:

S-R--S...

在此表示法中,文本字符“S”将数字系列标识为 SID,R 是修订级别,I 是标识符颁发机构值,S... 是一个或多个子授权值。

以下示例使用此表示法显示本地 Administrators 组的已知域相对 SID:

S-1-5-32-544

在此示例中,SID 具有以下组件。 括号中的常量是已知的标识符颁发机构,RID Winnt.h 中定义的值:

  • 修订级别为 1
  • 标识符颁发机构值为 5(SECURITY_NT_AUTHORITY)
  • 第一个子授权值 32 (SECURITY_BUILTIN_DOMAIN_RID)
  • 第二个子授权值 544 (DOMAIN_ALIAS_RID_ADMINS)