是否可以使用组策略授予管理 Windows 服务的权限?
我真的很想知道这是否可能,如果可以,您建议我在哪里寻找更多信息?我对 Server 2003 特别感兴趣。
我尝试了一些非常明显的网络搜索,但组策略、Windows 服务或权限(以及类似组合)的大多数结果最终都在讨论如何通过 GP 启用或禁用特定服务,不允许用户或组执行那些东西是手动的。
我可能会用我的方法吠叫错误的树。非常感谢任何建议。
是否可以使用组策略授予管理 Windows 服务的权限?
我真的很想知道这是否可能,如果可以,您建议我在哪里寻找更多信息?我对 Server 2003 特别感兴趣。
我尝试了一些非常明显的网络搜索,但组策略、Windows 服务或权限(以及类似组合)的大多数结果最终都在讨论如何通过 GP 启用或禁用特定服务,不允许用户或组执行那些东西是手动的。
我可能会用我的方法吠叫错误的树。非常感谢任何建议。
您绝对可以使用组策略来授予用户启动/停止服务的权限。您只需要使用“安全”组策略客户端扩展修改服务上的安全描述符。
一个非常轻微的警告:我看到一些服务不喜欢基于组策略的修改对服务施加的默认权限的情况(如果您想了解我在说什么,请查看有关 Windows Search 服务的帖子关于: http: //peeved.org/blog/2007/12/07),但这在我的经验中并不常见。
为了在组策略编辑器中“看到”该服务,您需要在安装了该服务的计算机上进行编辑。(如果这是一个普通的 Windows 服务,那么这没什么大不了的,但如果它是第三方在安装了它的机器上获得的东西,“运行”一个 MMC 的副本,并管理一个针对 GPO 的组策略编辑器您要放置这些设置的位置。)
在“计算机设置”、“Windows 设置”、“安全设置”和“系统服务”下,找到您要授予启动/停止权限的服务并定义策略设置。您必须选择启动类型。单击“编辑安全性”并修改默认 ACL 以包含您要查找的权限。
我建议在一组受限制的计算机上测试 GPO(通过将 GPO 链接到具有单台计算机的测试 OU,或者通过将 GPO 过滤到仅一台计算机)并确保它在您开始之前执行您想要的操作更改所有计算机上的安全性只是为了发现它不能满足您的要求。
以下是关于 ACE 中的各种条目对服务意味着什么的一些背景信息:
要查看 SDDL 表示法的描述符,请使用“sc sdshow service-name”命令。
编辑:
创建新服务的委派权限将有点困难。在全局对象管理器中的服务控制管理器 (SCM) 对象上有一个“SC_MANAGER_CREATE_SERVICE”权限可以授予用户。
在 Windows Server 2003 之前的 Windows 版本中,无法更改 SCM 上的权限。从 W2K3 SP1 开始,您可以更改 SCM 上的权限。
更改安全性的 API 是SetServiceObjectSecurity,更多信息可在此处获得:http: //msdn.microsoft.com/en-us/library/aa379589 (VS.85).aspx
更多参考:可以授予 SCM 的权限以及在 SCM 上设置的默认 DACL 可在此处获得:http: //msdn.microsoft.com/en-us/library/ms685981 (VS.85).aspx
简而言之,如果不编写代码,就无法做到这一点。没有神奇的注册表设置等。但是,如果您可以让某人为您编写代码,那是完全可行的。
查看 Microsoft 中的这些知识库文章 -如何配置组策略以设置系统服务的安全性以及如何授予用户在 Windows 2000 中管理服务的权限,其中讨论了授予对管理服务的访问权限的替代方法。
希望这可以帮助。
正如他们在文章底部所说的那样,Microsoft 提供的解决方案仅涵盖 Windows 2000 系统,即使该解决方案对其所有操作系统都有效。
如何在组策略中将第三方服务添加到系统服务
因此,对于随 Windows 2008 R2 发布的组策略基础架构的集中化理念,这是一个巨大的倒退。
如何在 Windows Vista 中为组策略管理模板文件创建中央存储