公众号旧文
Windows 最高权限到底是谁?评论区吵翻了
上篇为什么 Win 叫 Admin, Linux 叫 root?发出后,
胖子一觉醒来,被评论区前所未有的热闹程度吓了一跳。
于是赶紧补上一篇,希望可以终结这个话题。
包括我在内的很多人,可能混淆了三个完全不同的概念:
账户(Account) 权限(Privilege) 所有者(Owner)
只要把这三件事分开,答案就很清楚了。
一、Administrator:给人类使用的管理员
在 Microsoft Windows 中,普通用户能接触到的最高权限账户是:
Administrator
它可以:
- 安装软件
- 管理用户
- 修改系统设置
- 启停服务
但很多人说:
有些系统文件,即使是 Administrator 也无法修改!
比如:
C:\Windows\System32
系统会提示:
需要 TrustedInstaller 权限
于是很多人得出结论:
TrustedInstaller 才是最高权限
但这个结论,也不准确。
二、SYSTEM:操作系统本身
Windows 里有一个更高权限的账户:
NT AUTHORITY\SYSTEM
这个账户:
- 不用于日常登录
- 用于运行核心系统服务
- 不受 UAC 限制
例如:
- Windows Update
- Service Control Manager
安全领域有一句经典的话:
拿到 SYSTEM = 完全控制 Windows
因此,从权限能力角度来说,上篇文章用 Admin 对标 root,
的确不对,正确的说法是:
SYSTEM 是 Windows 上最接近 Linux root 的存在
三、TrustedInstaller:系统文件的所有者
那争议最大的 TrustedInstaller 是什么?
它对应的是服务:
Windows Modules Installer(TrustedInstaller)
它的核心作用只有一个:
作为系统关键文件的所有者(Owner)
例如:
C:\Windows\System32\ntdll.dll
很多这类文件的所有者都是 TrustedInstaller。
但是,关键点来了:
所有者 ≠ 权限最高
TrustedInstaller 的作用是:
- 控制谁“可以修改文件”
- 保护系统组件不被随意篡改
但这是一种:
资源保护机制(Ownership + ACL)
而不是传统意义上的权限等级更高。
四、为什么 Administrator 改不了文件?
原因不是权限不够,而是:
你不是文件所有者
在 Windows 的权限模型里:
- 是否能操作文件 = 权限(ACL) + 所有权(Owner)
即使你是 Administrator:
- 也可能被拒绝访问
- 因为文件属于 TrustedInstaller
但只要你取得所有权 + 修改权限,依然可以操作这些文件。
五、真正的关系
这种结构不严谨,容易误导:
TrustedInstaller
↑
SYSTEM
↑
Administrator
更准确的理解是:
✔ 权限层级(谁更“能干事”)
SYSTEM > Administrator > User
✔ 文件所有权(谁“拥有文件”)
TrustedInstaller(部分系统文件的 Owner)
这两套体系是并行的,不是上下级关系
六、和 Linux 的对比
在 Linux 中:
| Linux | Windows |
|---|---|
| root | SYSTEM |
| sudo 用户 | Administrator |
| 无专门所有者保护 | TrustedInstaller |
Linux 的特点是:root 拥有一切权限 + 所有权
所以经典命令:rm -rf /
理论上可以直接删系统。
而 Windows 的设计是:把“权限”和“所有权”拆开
从而实现:
- 防误操作
- 防恶意软件
- 提高系统稳定性
七、最终结论
如果一定要问:Windows 的最高权限是谁?
最严谨的回答是:
SYSTEM 是最高权限账户(权限维度) TrustedInstaller 是系统文件的所有者(资源控制维度)
但两者不是同一个概念。
一句话总结
👉 SYSTEM 决定你“能做什么” 👉 TrustedInstaller 决定你“能不能动这个文件”
如果本文还有欠缺,希望可以得到读者朋友们的再次指正,谢谢大家。