我有一个内置TCP/IP服务器的windows服务。客户端和连接以及一些信息的分发等。通常,安装该服务是为了作为"网络服务"登录。
在ProgramData下的文件夹中存储了一些数据,因此在安装期间授予服务对该文件夹的读/写访问权限。但是,通常会将访问权限授予使用Network Service帐户的所有服务。我知道可以使用ChangeServiceConfig2与SERVICE_CONFIG_SERVICE_SID_INFO添加特定的服务SID。然而,从那里它是不清楚如何进行,如果这甚至是一个解决我的问题。
任何帮助将非常感激!
这称为服务隔离。使用SERVICE_CONFIG_SERVICE_SID_INFO参数和带有SID类型的SERVICE_SID_INFO结构来指定,指示SCM将服务SID添加到服务的进程令牌中,从而允许服务访问您可能已配置为仅允许访问您的特定服务的资源。也可以使用sc命令
sc <server> sidtype [service name] [type]
OPTIONS:
type = <none|unrestricted|restricted>
sc <server> qsidtype [service name]