如何给服务添加服务SID?

Spa*_*ook 3 windows service windows-services windows-security

我有一个内置 TCP/IP 服务器的 Windows 服务。客户端和连接以及分发一些信息等。通常安装该服务以作为网络服务登录。

有一些数据存储在 ProgramData 下的文件夹中,因此在安装过程中向该服务授予对该文件夹的读/写访问权限。但是,通常会使用网络服务帐户授予对所有服务的访问权限。据我所知,可以使用ChangeServiceConfig2和 SERVICE_CONFIG_SERVICE_SID_INFO 添加特定的服务 SID。然而,从那里开始,根本不清楚如何继续,以及这是否是我的问题的解决方案。

任何帮助将非常感激!

ser*_*mat 5

这称为服务隔离。指定带有SID 类型的SERVICE_SID_INFO结构的 SERVICE_CONFIG_SERVICE_SID_INFO 参数指示 SCM 将服务 SID 添加到服务的进程令牌,从而允许服务访问您可能已配置为仅允许访问您的特定服务的资源。您也可以使用 sc 命令

sc <server> sidtype [service name] [type]

OPTIONS:
 type = <none|unrestricted|restricted>

sc <server> qsidtype [service name]
Run Code Online (Sandbox Code Playgroud)