有谁知道我需要授予域用户帐户的最低权限才能以该用户身份运行 Windows 服务?
为简单起见,假设服务除了启动、停止和写入“应用程序”事件日志之外什么都不做——即没有网络访问、没有自定义事件日志等。
我知道我可以使用内置的 Service 和 NetworkService 帐户,但由于网络策略到位,我可能无法使用这些帐户。
有谁知道我需要授予域用户帐户的最低权限才能以该用户身份运行 Windows 服务?
为简单起见,假设服务除了启动、停止和写入“应用程序”事件日志之外什么都不做——即没有网络访问、没有自定义事件日志等。
我知道我可以使用内置的 Service 和 NetworkService 帐户,但由于网络策略到位,我可能无法使用这些帐户。
两种方式:
编辑服务的属性并设置登录用户。将自动分配适当的权限。
手动设置:进入管理工具 -> 本地安全策略 -> 本地策略 -> 用户权限分配。编辑“作为服务登录”项并在那里添加您的域用户。
我知道该帐户需要具有“作为服务登录”权限。除此之外,我不确定。可以在这里找到作为服务登录的快速参考,这里有很多特定权限的信息。
“BypassTraverseChecking”意味着您可以直接访问任何深层子目录,即使您不具备对中间目录的所有中间访问权限,即它之上的所有目录都指向根级别。
感谢您的链接,克里斯。我经常想知道诸如“BypassTraverseChecking”之类的特权的具体影响,但从来没有费心去查找它们。
我在运行服务时遇到了有趣的问题,发现在管理员完成初始安装后它无法访问它的文件。在我发现文件问题之前,我一直认为除了作为服务登录之外它还需要一些东西。
在取得所有权期间,有必要禁用从父目录继承权限并沿树递归地应用权限。
但是,无法找到“授予所有权”选项来避免将服务帐户临时设为管理员。
无论如何,我想我会发布这个,以防其他人走上我正在寻找安全策略问题的同一条道路,而这实际上只是文件系统权限。