我可以找到很多关于什么是“NT AUTHORITY”的信息削减“某物”。“NT SERVICE”也是一样。但斜线之前的部分不是。我在工作中不时遇到它们。我可能会收到文档,例如域管理员,有时包括来自这两个“位置”(NT AUTHORITY\SYSTEM 或 NT SERVICE\MSSQLSERVER)的用户。所以我理解他们是某种标准用户。
所以我实际上想了解斜线前面的核心内容是什么。它是否以某种方式与 Windows NT 相关联,因为它似乎不是这样?那些“NT”字母到底是什么?授权和服务是同一级别的东西吗?
答案1
如果您愿意对定义稍作改动,NT_AUTHORITY 本质上是指 Windows 操作系统本身。或者可能是“操作系统代表您授权的事物”。
(起初,NT 代表新技术,是一种通常用于企业的操作系统版本。它与 Windows 98、98 和更早版本中使用的不太严格、不太安全的 Windows 9.x 内核形成对比。从 Windows 2000 开始,各个版本合并为基于 Windows NT 4 的版本。这些版本最终发展成为 Windows Vista、7、8.x 和即将发布的 10。
“NT”令牌基本上是早期遗留的令牌。您可以将其视为 Windows 本身的替代品。更正式地说,它是一组处理后台任务和维护操作的服务用户的父级。
斜线右侧的标记表示操作系统的各个内部服务“用户”。例如,NT AUTHORITY\SYSTEM 处理系统服务,NT AUTHORITY\LOCAL SERVICE 处理本地服务,NT AUTHORITY\NETWORK SERVICE 处理网络服务,等等。更多背景信息可参见此主题以及MSDN 的各个位置。创造性地使用您喜欢的搜索引擎可以帮助您找到更多信息。
本质上,代表服务运行的是同一件事,服务本质上是在后台运行的实用程序。(例如,BITS 服务在后台下载更新。)有很多服务在运行,使用 NT_SERVICE 令牌将它们与其他服务区分开来。这里一篇文章这涉及到一些技术细节。(不过,除非你确切知道某项服务的用途,否则我不会关闭它。这很容易把事情搞砸。)
答案2
更技术性的解释:
在 Windows ACL(访问控制列表)中,权限适用于受托人- 用户、组或其他安全主体。
受托人的唯一标识是SID, 哪个是以以下字符串开头S-1-
并且可以格式化为人类可读的字符串,NT AUTHORITY\SYSTEM
例如S-1-5-18
。
无论是谁提出 Windows NT 的这种设计,他的目的都是让它相当通用:
有一些通用的知名 SID,它们很有意义在所有使用此安全模型的安全系统上,包括 Windows 以外的操作系统另外,还有一些知名的SID只在Windows系统上才有意义。
他们提出了一些通用权限,例如SECURITY_WORLD_SID_AUTHORITY
( S-1-1
),它只产生一个 SID,S-1-1-0
表示“所有人”;但大多数使用的 SID 都以S-1-5
- 开头,即“NT 授权”,用于在基于 NT 的操作系统中生成 SID(IE所有现代 Windows 版本)。
此时您可能会认为以 开头的 SIDS-1-5-...
显示为NT AUTHORITY\
,但事实并非如此 - 许多子分支都有自己的前缀,以人类可读的形式显示,例如:
S-1-5-21-domainID-
用于自定义 Active Directory 域 (MYDOMAIN\...
)S-1-5-32
是BUILTIN\
(BUILTIN\Administrators
例如 -544)S-1-5-80-serviceHash
是为了NT SERVICE\(service name)
未归入其他名称的知名 SID 有时会显示前缀NT AUTHORITY\
,例如:
- NT AUTHORITY\本地服务(
S-1-5-19
;也仅显示为“本地服务”)“是服务控制管理器使用的预定义本地帐户。在本地计算机上具有最低权限,并在网络上提供匿名凭据” - NT AUTHORITY\网络服务(
S-1-5-20
;也显示为“网络服务”)“是服务控制管理器使用的预定义本地帐户。在本地计算机上具有最低权限,并且充当网络上的计算机“”。 NT AUTHORITY\SYSTEM
(也简称为“SYSTEM”,与 LocalSystem 帐户密切相关) - 请参阅“NT AUTHORITY\SYSTEM” 是用户还是组?,Windows 中的系统帐户, 和从 SYSTEM 中删除 NTFS 权限的副作用
因此,“NT AUTHORITY”名称是 Windows 中使用的安全子系统极端通用的产物,除了“我们没有想出更具体的组”之外,没有任何有用的含义。
NT SERVICE\
(S-1-5-80-...
)是用于“虚拟账户”当指定以哪个账户运行名为 MyService 的服务时,您可以输入“NT SERVICE\MyService”,无需密码,它将在单独的安全上下文中运行,您可以在其他地方为其设置权限。