
SID 安全标识符(Security Identifier)是 Windows 安全架构的基石,也是我们在权限管理时,绕不开的一个话题。
每一个「安全主体」——无论是用户、用户组、计算机还是服务账户,在创建时都会被分配一个「唯一且不可更改」的 SID。和能够随意修改的「用户名」不同,SID 在安全主体的整个生命周期中都保持不变。正是这种不变性,让它成为了 Windows 访问控制的核心。
当你为文件或文件夹分配权限时,系统会将用户账户的 SID 存储在资源的 ACL(访问控制列表)中,而不是直接使用用户名。这样一来,即便你更改了账户名称,已经授予的权限也不会失效。
无论是在企业级的 Active Directory 域环境中,还是个人用户的工作组环境(单机模式),透彻理解 SID 是什么,以及作用都至关重要。
01. SID 是什么:定义与核心概念
1.1 SID 定义
- 定义:SID 安全标识符是一个变长的「字母 + 数字」字符串,由 Windows 自动分配给每个「安全主体」,包括用户账户、组、服务、以及计算机账户,作为这些对象实体的唯一标识;操作系统在创建账户时,会通过内部算法来生成 SID,并作为所有「安全相关操作」的身份标识。
- 怎么理解:你可以把它想象成身份证号 🆔。就像在你出生时(创建账户),国家(Windows)会为你分配一个身份证号(SID),这个身份证号会伴随你(安全主体)的一生(生命周期)。等哪一天你「凉了 😂」(删除账户),身份证号就会被注销。(SID 有可能会孤立,后面部分会讲。)
1.2 SID 的核心概念
在 Windows 的安全体系中,SID 是标识身份的最终依据:
- 当你在文件或文件夹属性中查看和分配「权限」时,会看到像
Zhangsan、Lisi这样的用户名,但这只是给人看的「友好名称」。 - 实际上,Windows 在 ACL 列表中使用的始终是 SID。
这种「显示名称」与底层「安全标识符」分离的设计带来了几大重要优势:
- 账户名可变,权限不变:管理员可以随时更改用户名,但不会影响到已分配的权限。
- 新建同名账户不会继承权限:即便你删除账户再新建一个同名账户,新账户也会获得一个全新的 SID,避免了权限「被误继承」。
- 更高效的权限判断:系统通过比较 SID(二进制数据)来解析和判断访问权限,比账户名字符串匹配更加高效。
举个例子:张三是一个法外狂徒 🤠🔫,你也叫张三,但却是一个大大的良民 😇。国家在通缉张三时,查的是身份证号,这样就能精确、高效锁定目标,而不是光凭名字大海捞针,更不会抓错人 ✨。
如果你克隆了虚拟机或制作虚拟机模板,必需要使用 sysprep 对 SID 进行清理,以免同一个环境中出现相同 SID 的情况。
02. SID 结构与组成
每一个 SID 都遵循一套标准化的结构,不同的部分清晰地揭示了「安全主体」的来源和身份层级信息。我们以用户 SID 为例,先来看看如何查看 SID。
2.1 如何查看用户 SID
2.1.1 使用 PowerShell 查看
1按Windows + R打开「运行」对话框,执行powershell打开 Windows PowerShell 窗口。
2执行以下命令:
- 查看当前用户 SID:
whoami /user
- 查看指定用户 SID:
Get-LocalUser -Name '用户名' | Select-Object Name, SID
- 查看所有本地用户 SID:
Get-LocalUser | Select-Object Name, SID

2.1.2 通过注册表查看
1按Windows + R打开「运行」对话框,输入regedit并回车,打开注册表编辑器。
2导航到以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
3在这个键下,每一个子项的名称就是一个用户的 SID。子项中的ProfileImagePath值,会显示用户配置文件路径,例如:
C:\Users\Administrator
C:\Users\Zhangsan
C:\Users\Lisi

通过注册表查看 SID 和 ProfileImagePath 值
你也可以使用微软 Sysinternals 工具箱中的 psgetsid 命令行工具来查看。
2.2 SID 结构拆解
接下来,我们就以这个 SID 为例,对它的结构和组成进行拆解:
S-1-5-21-3011682156-2177902651-2876993105-1002
| SID 组成部分 | 示例值 | 说明 |
|---|---|---|
| 修订级别 | S | 表示这是一个 SID,所有 Windows 的 SID 都以此开头。 |
| 标识符颁发机构 | 1 | 表示 NT Authority,是 Windows 的标准颁发机构。 |
| 安全颁发机构 | 5 | 指向 NT Authority,负责管理本地和域账户。 |
| 域/计算机标识符 | 21-3011682156-2177902651-2876993105 | 48-bit 标识符,代表域或本地计算机的 SAM 数据库。 |
| 相对标识符(RID) | 1001 | 在域或本地系统范围内唯一标识安全主体的数字。 |

2.3 RID 的分配模式
Windows 在分配 RID 相对标识符(Relative Identifier)时,遵循着一定的规则:
- Windows 内置账户:有预定义的 RID,并且在所有 Windows 系统中都保持一致。比如:
| 内置账户 | 固定 RID |
|---|---|
| Administrator | 500 |
| Guest | 501 |
| Domain Admins | 512 |
- 域用户账户:在 Active Directory 中创建的域用户账户,RID 一般从
1000开始。 - 计算机账户:本地「计算机账户」RID 则 从
1001开始。 - 用户组账户:根据其作用域和类型,在不同范围内获取 RID。
在域环境中,RID 池由 RID Master 批量分配给各 DC,再由 DC 分配给用户和计算机账户。
04. SID 在 Windows 安全体系中的运作机制
Windows 的每一项安全决策背后,其核心都是 SID 在发挥作用。当用户访问某个资源时,系统会通过一系列基于 SID 的操作,来判定其是否具有访问权限。
4.1 权限分配流程
- 首先,当管理员为用户或用户组分配权限时,Windows 会立即将账户名称解析为对应的 SID。
- 然后,系统会将该 SID 存储在资源的 ACL 列表中,确保权限与「安全主体」绑定,而不依赖于账户名称。
举个例子:当你为用户Zhangsan授予某个文件夹的「读取」权限时:
- Windows 会查找
Zhangsan的 SID,并在该文件夹的 ACL 列表中添加一条包含该 SID 和「读取」权限的 ACE(访问控制条目)。 - 即便日后
Zhangsan换了个马甲变成了Lisi,权限也不会变化,因为底层 SID 没变。
ACE 访问控制条目:ACL 中的单项权限记录,指定了某个 SID 对资源「可执行的」操作。
4.2 身份验证与授权流程
Windows 的身份验证过程同样围绕着 SID 解析和 Token 的创建展开:
- 用户登录时,LSA(本地安全机构)会验证凭据并确定其 SID。
- 系统生成一个「访问 Token」,其中包含了用户的 SID 及其所属组的 SID。这个 Token 会成为该用户在整个会话期间的安全上下文。
- 用户尝试访问资源时,系统会将其 Token 中的 SID 与资源 ACL 中的 SID 进行比对。如果匹配且权限足够,访问就会被允许。
4.3 SID 与账户名的解耦
SID 与账户名的分离设计,极大提升了系统管理的灵活性:
- 管理员可以随时更改账户名,而不会影响权限设置。
- 避免了将权限与用户名绑定导致的安全隐患。
05. SID 的关键特性与属性
5.1 不可变性与永久性
SID 在所属「安全主体」的整个生命周期中保持不变:
- 一旦创建,Windows 绝对不会更改 SID,即使账户信息变更或域迁移也是如此。确保了权限、审计日志和安全策略能够长期保持完整性。
- 如果删除账户并创建同名账户,新账户也会获得全新的 SID,有效避免了权限或安全上下文「被误继承」。
5.2 已知 SID
Windows 为一些常见的内置安全主体预定义了 SID,这些「已知 SID」在所有 Windows 系统中保持一致:
| SID | 安全主体 | 说明 |
|---|---|---|
S-1-1-0 | Everyone 组 | 任何人 |
S-1-5-32-544 | Administrators 组 | 内置管理员组 |
S-1-5-18 | Local System 账户 | 本地系统账户 |
S-1-5-7 | Anonymous Logon | 匿名登录 |
S-1-5-11 | Authenticated Users | 经过身份验证的用户 |
在 Active Directory 域中,一些重要的 RID 也固定不变,例如:域管理员的 RID 永远是500,域管理员组的 RID 永远是512。这种统一性极大简化了跨域管理和安全策略部署。
5.3 SID 历史记录属性
Active Directory 提供了一个名为sIDHistory的「SID 历史记录」属性,为账户迁移场景提供了有力支持。
- 当用户从一个域迁移到另一个域时,原 SID 可以被复制到新账户的
sIDHistory属性中。这样一来,用户无需重新分配权限,就可以继续访问原域中的资源。 - 在域整合或森林重组时,这一功能尤为关键。在过渡期间,可以实现新旧域之间的资源无缝访问,减少管理负担和业务中断。
06. 故障排查与安全考量
SID 相关问题可能引发严重的 Windows 安全与管理挑战,特别是在权限管理和跨域访问中。
6.1 孤立 SID
当一个「安全主体」被删除后,与之对应的 SID 就会变成「孤立 SID」——即不再对应任何账户。
- 「孤立 SID」可能会残留在 ACL 列表中,显示为「未知账户」及 SID。
- 虽然这些 SID 不会授予任何人访问权限,但会让权限列表变得杂乱,增加管理难度。

建议定期审计并清理孤立 SID,维护清晰的权限结构。
6.2 SID 筛选功能
「SID 筛选」功能用于限制哪些 SID 可以跨「信任关系」进行身份验证,在多域环境中,范基于信任的攻击。
- 配置 SID 筛选后,它会阻止「受信任域」使用其域颁发机构以外的 SID 来验证用户。通过筛选外部 SID,确保用户只能通过合法来源的 SID 登录。
- 这项安全措施可以有效缓解「SID 历史记录注入」攻击,即恶意将高权限 SID 添加到某个用户的
sIDHistory中。
默认情况下:在「外部信任」中,SID 筛选默认启用;在同一林内的信任中,默认禁用。管理员在修改 SID 筛选设置时需谨慎,否则可能会影到响合法的跨域访问。












最新评论
不奇怪,设计师用 Mac 很正常,微软内部也有大把员工在用 Mac。
之前邮件里收到 Microsoft 50 周年的壁纸,下载下来里面有个 __MACOSX 文件夹我也是没绷住🤓
笑死我了
电脑设置完成,但电视端找不到服务器,怎么办?