【发布时间】:2011-03-10 10:42:23
【问题描述】:
我想部署一个 C++ 应用程序,该应用程序将在用户在其计算机上具有低权限的企业中运行,因此他们无法以管理员身份运行或执行需要管理员权限的任务。
我想要的服务可以作为本地服务运行,它是 Windows 中的低权限帐户,那么我怎样才能以编程方式让我在低权限用户的上下文中运行的应用程序启动一个 Windows 服务,该服务可以作为本地服务运行?
是否需要模拟,低权限用户是否能够临时模拟本地服务帐户来运行服务?
我听说即使特定服务可以作为本地服务运行,我仍然无法在没有管理员权限的情况下启动它,因为服务控制管理器 (SCM) 仍然需要管理员权限?
编辑:我应该注意该服务默认安装在Windows(智能卡服务)中,我只想启动它。
【问题讨论】:
-
你不能这样做。标准用户无权启动和停止服务。
-
“标准用户无权启动和停止服务”是不是不清楚?如果您不相信我们,请说出来,但反复询问如何做是没有意义的。
-
你为什么还要这个?大多数服务应该处于休眠状态:运行,即它们可以接受输入,但在没有输入的情况下不使用单个 CPU 周期。
-
我不确定您要做什么,但您可以更改服务上的安全描述符 (SetServiceObjectSecurity)。不过,我不建议在不属于您自己的服务上执行此操作。
标签: c++ windows security windows-services