安装 Windows 服务所需的最低用户权限是什么?

安装 Windows 服务所需的最低用户权限是什么?

安装 Windows 服务所需的最低用户权限是什么?

答案1

出于安全原因的管理特权。

只有具有管理权限的进程才能打开 SCM(服务控制管理器)的句柄,这些句柄可供 CreateService 和 LockServiceDatabase 函数使用(请参阅MSDN 文章了解详情)。在本文中,您将看到,要获得创建服务的权限,您需要访问权限SC_MANAGER_CREATE_SERVICE (0x0002),该权限包含在通用访问权限中GENERIC_WRITE。如果您进一步查看页面,您会看到仅限管理员可以通过 访问它SC_MANAGER_ALL_ACCESS。使用 InstallUtil.exe 安装 .NET Windows 服务也是如此,因为 InstallUtil 会调用本机创建服务功能。

应用程序安装服务将通过两种方法之一。这听起来像是一种非常合乎逻辑的设计,可以防止安全问题,正如解释的那样这里

其实,Windows 的这种设计是有道理的,是出于安全考虑。Windows Service 通常运行在高权限账户下,如果普通账户可以安装未知服务,那么恶意用户很容易就能提升权限。比如,他可以使用 installutil.exe 安装一个黑客服务,该服务运行在 Local Service 账户下。那么当服务运行时,整个机器就被普通用户账户的黑客控制了。这确实是一个安全漏洞。所以 Windows 只允许 Administrators 安装服务。

相关内容