Fowl Asked: 2013-03-22 18:37:07 +0800 CST2013-03-22 18:37:07 +0800 CST 2013-03-22 18:37:07 +0800 CST 具有虚拟帐户的任务计划程序,可能吗? 772 目前我正在使用LOCAL SERVICE各种常规任务的用户帐户,并且想知道是否可以使用虚拟帐户来代替。 任务计划程序似乎拒绝NT SERVICE\样式帐户名称。 security 3 个回答 Voted Ryan Ries 2013-03-22T19:13:41+08:002013-03-22T19:13:41+08:00 你不能。虚拟服务帐户旨在运行 Windows 服务,仅此而已。虚拟服务帐户有自己的 SID,Windows 会定期自动更改 VSA 的密码以确保安全。可以为帐户分配 ACL 上的访问控制条目。但是,该帐户甚至没有存储在 SAM 注册表配置单元中,这就是您在大多数管理工具中看不到该帐户的原因。 来自Windows Internals 的 Chatper 6,第六版,作者 Mark Russinovich、David Solomon 和 Alex Ionescu。 编辑:还应该注意的是,如果运行 Windows 服务的虚拟服务帐户试图访问网络资源,它会使用运行它的计算机的帐户来执行此操作,例如 [email protected]。 CMy 2014-12-10T13:59:12+08:002014-12-10T13:59:12+08:00 编辑:实际上这取决于你真正想要实现的目标。如果您想保护任务正在使用 ACL 访问的资源——方法如下: Windows 7 和 Windows Server 2008 R2 能够将 SID 应用于每个计划任务,并使用该 SID 将权限应用于操作系统中的其他位置。 http://blogs.technet.com/b/craigf/archive/2011/03/15/using-delegation-in-scheduled-tasks.aspx 计划任务确实有特定的 SID 编辑:添加了链接的描述。 Best Answer Ian Boyd 2019-07-23T09:59:13+08:002019-07-23T09:59:13+08:00 您不能将其作为虚拟用户帐户运行。但是您可以使用虚拟组帐户运行它。(但由于该“组”与任务具有 1:1 的关系,因此它实际上是一个用户)。 假设您以本地服务用户身份运行计划任务。该组在其令牌中有一系列 SID: 本地服务: 大家 ( S-1-1-0) 当地 ( S-1-2-0) NT AUTHORITY\Authenticated 用户 ( S-1-5-11) 内置\用户 ( S-1-5-32-535) 任务计划程序使用根据任务名称计算的附加 SID 运行任务。 SID 将成为权威的孩子S-1-5-87 并将有一个表格的名称NT TASK\[Task Name] 相对 id 87来自于中定义的常量winnt.h: SECURITY_TASK_ID_BASE_RID (0x00000057L) 您可以通过运行以下命令手动将任务名称“散列”到 SID 中: >schtasks /showsid /TN "The quick brown fox jumped over the lazy dog" SUCCESS: The SID "S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331" for the user name "The quick brown fox jumped over the lazy dog" has been computed successfully. 任务不一定存在;它向您显示当具有该名称的任务运行时它将使用的 SID 。 任务名称:The quick brown fox jumped over the lazy dog 关联的 SID: S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331 组名:NT TASK\The quick brown fox jumped over the lazy dog 这意味着当您的计划任务运行时,它的安全令牌中将有一个新的 SID: 本地服务: 大家 ( S-1-1-0) 当地 ( S-1-2-0) NT AUTHORITY\Authenticated 用户 ( S-1-5-11) 内置\用户 ( S-1-5-32-535) NT 任务\敏捷的棕色狐狸跳过懒狗( S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331) 使用令牌中这个新组 SID 的标记,您可以编辑文件和文件夹的权限,以便只有计划任务可以访问它们: >icacls icacls yellow.png /grant "*S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331:(M)" 奖金喋喋不休 运行您的任务的荣誉Local Service- 这是正确的选择。它是一个特殊的行权限帐户,没有人可以登录,并且在网络上没有任何权限(除了“匿名”用户获得的相同权限)。许多“安全专家”都认为任务需要使用他们在 Active Directory 中创建的特殊帐户以及复杂的随机密码来运行。这些人不了解安全的基础知识,这让我很抓狂。 红利阅读 任务安全加固 存档
你不能。虚拟服务帐户旨在运行 Windows 服务,仅此而已。虚拟服务帐户有自己的 SID,Windows 会定期自动更改 VSA 的密码以确保安全。可以为帐户分配 ACL 上的访问控制条目。但是,该帐户甚至没有存储在 SAM 注册表配置单元中,这就是您在大多数管理工具中看不到该帐户的原因。
来自Windows Internals 的 Chatper 6,第六版,作者 Mark Russinovich、David Solomon 和 Alex Ionescu。
编辑:还应该注意的是,如果运行 Windows 服务的虚拟服务帐户试图访问网络资源,它会使用运行它的计算机的帐户来执行此操作,例如 [email protected]。
编辑:实际上这取决于你真正想要实现的目标。如果您想保护任务正在使用 ACL 访问的资源——方法如下:
Windows 7 和 Windows Server 2008 R2 能够将 SID 应用于每个计划任务,并使用该 SID 将权限应用于操作系统中的其他位置。 http://blogs.technet.com/b/craigf/archive/2011/03/15/using-delegation-in-scheduled-tasks.aspx
计划任务确实有特定的 SID
编辑:添加了链接的描述。
您不能将其作为虚拟用户帐户运行。但是您可以使用虚拟组帐户运行它。(但由于该“组”与任务具有 1:1 的关系,因此它实际上是一个用户)。
假设您以本地服务用户身份运行计划任务。该组在其令牌中有一系列 SID:
本地服务:
S-1-1-0
)S-1-2-0
)S-1-5-11
)S-1-5-32-535
)任务计划程序使用根据任务名称计算的附加 SID 运行任务。
S-1-5-87
NT TASK\[Task Name]
相对 id
87
来自于中定义的常量winnt.h
:您可以通过运行以下命令手动将任务名称“散列”到 SID 中:
任务不一定存在;它向您显示当具有该名称的任务运行时它将使用的 SID 。
The quick brown fox jumped over the lazy dog
S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
NT TASK\The quick brown fox jumped over the lazy dog
这意味着当您的计划任务运行时,它的安全令牌中将有一个新的 SID:
本地服务:
S-1-1-0
)S-1-2-0
)S-1-5-11
)S-1-5-32-535
)S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
)使用令牌中这个新组 SID 的标记,您可以编辑文件和文件夹的权限,以便只有计划任务可以访问它们:
奖金喋喋不休
运行您的任务的荣誉
Local Service
- 这是正确的选择。它是一个特殊的行权限帐户,没有人可以登录,并且在网络上没有任何权限(除了“匿名”用户获得的相同权限)。许多“安全专家”都认为任务需要使用他们在 Active Directory 中创建的特殊帐户以及复杂的随机密码来运行。这些人不了解安全的基础知识,这让我很抓狂。红利阅读