以“本地系统”权限运行的Windows服务,想从将以“本地用户”权限运行的Windows服务创建子进程

问题描述

我正在Windows服务应用程序上工作,该应用程序当前正在以管理员权限运行。 为此,我需要在服务登录设置中设置管理员信息。 Windows服务之上是使用本地用户权限创建子进程。 一切正常。

现在,我想将Windows服务应用程序更改为以“本地系统”特权而不是管理员身份运行。 但是,如果我将登录设置更改为“本地系统”,则子进程无法启动,并引发异常“访问被拒绝”。

我认为“本地系统”帐户具有执行任何操作的所有权限。 它甚至比管理员帐户更强大。 那为什么它不能启动子进程呢?

如果我的看法是错误的,请指导我

解决方法

本地系统当然 拥有“所有操作权限”。那意味着,如果有人设法进入该流程,那么他们真的可以在系统上运行amok。

组策略编辑器将完全向您显示谁可以做什么,因此您无需猜测自己的方式。

  1. 打开GPEDIT.MSC
  2. 导航到Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment
  3. 在右侧,查找Obtain an impersonation token for another user in the same session.

enter image description here

我不是100%确定这是您需要的设置(我没有尝试过),但我认为是。即使不是,请浏览组策略的这一部分以查看谁可以执行操作。显然,您想要的设置不会在列表中显示“本地系统”;)

我希望这会有所帮助。 :)祝你好运!