目前我将其用作LOCAL SERVICE
各种常规任务的用户帐户,并且想知道是否可以使用虚拟账户反而。
任务计划程序似乎拒绝NT SERVICE\
样式帐户名称。
答案1
你不能以虚拟机的方式运行它用户帐户。但您可以使用虚拟团体帐户。(但由于“团体”与任务具有 1:1 的关系,它实际上就是一个用户)。
假设你运行计划任务本地服务用户。该组的令牌中有一系列 SID:
本地服务:
- 每个人 (
S-1-1-0
) - 当地的 (
S-1-2-0
) - NT AUTHORITY\经过身份验证的用户 (
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\经过身份验证的用户 (
S-1-5-11
) - 内置\用户 (
S-1-5-32-535
) - NT TASK\敏捷的棕色狐狸跳过了懒狗(
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 中创建的特殊帐户来运行,并使用复杂的随机密码。这些人不懂安全基础知识,这让我很抓狂。
额外阅读
答案2
编辑:实际上这取决于你真正想要实现的目标。如果你想要使用 ACL 保护任务正在访问的资源 - 方法如下:
在 Windows 7 和 Windows Server 2008 R2 中可以将 SID 应用于每个计划任务,并使用该 SID 在操作系统的其他位置应用权限。
TechNet 博客:在计划任务中使用委派 档案- Craig Forster,2011 年 3 月 15 日
计划任务确实有特定的 SID
答案3
不可以。虚拟服务帐户旨在运行 Windows 服务,仅此而已。虚拟服务帐户有自己的 SID,Windows 会定期自动更改 VSA 的密码以确保安全。可以为帐户分配 ACL 上的访问控制条目。但是,该帐户甚至没有存储在 SAM 注册表配置单元中,这就是为什么您在大多数管理工具中都看不到该帐户的原因。
摘自第 6 章Windows Internals,第六版,作者:Mark Russinovich、David Solomon 和 Alex Ionescu。
编辑:还应注意,如果运行 Windows 服务的虚拟服务帐户尝试访问网络资源,它会使用运行该服务的计算机的帐户进行访问,例如[电子邮件保护]。