将Windows服务作为域帐户运行所需的最低权限

时间:2008-10-07 14:12:52

标签: windows-services permissions rights

是否有人知道为了以该用户身份运行Windows服务而需要授予域用户帐户的最低权限是什么?

为简单起见,假设该服务在启动,停止和写入“应用程序”事件日志之外不做任何操作 - 即没有网络访问,没有自定义事件日志等。

我知道我可以使用内置的Service和NetworkService帐户,但由于网络策略的原因,我可能无法使用这些帐户。

4 个答案:

答案 0 :(得分:73)

两种方式:

  1. 编辑服务的属性并设置“登录”用户。将自动分配适当的权利。

  2. 手动设置:转到管理工具 - >本地安全政策 - >本地政策 - >用户权利分配。编辑项目“作为服务登录”并在那里添加您的域用户。

答案 1 :(得分:3)

我知道该帐户需要具有“作为服务登录”权限。除此之外,我不确定。可以找到“作为服务登录”的快速参考here,并且有大量特定权限的信息here

答案 2 :(得分:2)

“BypassTraverseChecking”意味着您可以直接访问任何深层子目录,即使您没有对它们之间的目录的所有中间访问权限,即它上面的所有目录都朝向根级别。

答案 3 :(得分:1)

感谢您的链接,克里斯。我经常想知道像“BypassTraverseChecking”这样的特权的具体影响,但从来没有费心去查找它们。

我在运行服务时遇到了一些有趣的问题,并发现在管理员完成初始安装后,它无法访问它的文件。在我发现文件问题之前,我认为除了Logon As A Service之外还需要一些东西。

  1. 禁用简单文件共享。
  2. 暂时将我的服务帐户设为管理员。
  3. 使用服务帐户获取文件的所有权。
  4. 从管理员组中删除服务帐户。
  5. 重新启动。
  6. 在Take Ownership中,必须禁用父目录的权限继承,并以递归方式在树中应用权限。

    无法找到“给予所有权”选项,以避免暂时使服务帐户成为管理员。

    无论如何,以为我会发布这个以防万一其他人在同一条路上走,我正在寻找安全政策问题,当它真的只是文件系统权利。