【问题标题】:Windows Service running with Local System rights, wants to create child processes from windows service which will running with Local User rights以本地系统权限运行的 Windows 服务,想要从以本地用户权限运行的 Windows 服务创建子进程
【发布时间】:2020-11-02 05:18:22
【问题描述】:
我正在开发 Windows 服务应用程序,目前它以管理员权限运行。
为此,我需要在服务登录设置中设置管理员信息。
上面的 Windows 服务正在创建具有本地用户权限的子进程。
这工作正常。
现在我想更改 Windows 服务应用程序以使用“本地系统”权限而不是管理员运行。
但是,如果我将登录设置更改为“本地系统”,则子进程不会启动并抛出异常“访问被拒绝”。
我认为“本地系统”帐户拥有执行任何操作的所有权限。
它甚至比管理员帐户更强大。
那为什么它不能启动子进程呢?
如果我的理解是错误的,请指导我
【问题讨论】:
标签:
windows-services
child-process
local-system-account
【解决方案1】:
本地系统当然不拥有“做任何事情的所有权限”。这意味着如果有人设法进入该进程.. 他们真的可以在系统上乱跑。
组策略编辑器将准确地告诉您谁可以做什么,因此您无需猜测自己的方式。
- 打开 GPEDIT.MSC
- 导航到
Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment
- 在右侧,查找
Obtain an impersonation token for another user in the same session.
我不是 100% 确定这是您需要的设置(我没有尝试过),但我认为它是。即使不是,请浏览此组策略部分,看看谁可以做什么。显然,您想要的设置不会在列表中包含“本地系统”;)
我希望这会有所帮助。 :) 祝你好运!