为什么用户可以授予自己“登录即服务”权限?

Jez*_*Jez 7 windows permissions windows-service service credentials

本文介绍了授予 Active Directory 用户“作为服务登录”权限应执行的(相对费力的)步骤。但是,如果我安装服务并手动指定我的 AD 帐户的登录凭据(服务属性 | 登录),Windows 会告诉我“帐户 [myaccount] 已被授予作为服务登录的权限”。然后我可以在我的帐户凭据下运行该服务。但是,在随后重新安装服务(或有时在重新启动时)时,由于登录失败,该服务再次无法启动......直到我再次进入并手动输入我的凭据,并且该帐户被神奇地“授予” “作为服务登录”的权利。在此之后,该服务可以再次在我的帐户凭据下启动。

这里发生了什么?为什么我显然有权即时授予自己此权利?如果我可以即时授予它,为什么它不保持授予状态而我必须继续重新授予它?请记住,我不是在问如何通过 Active Directory 向某人授予此权利 - 我指的是在您在“登录”窗口中输入凭据后,此权利似乎是由 Windows“自动授予”的。

pip*_*eek 8

听起来好像有一个组策略定义了被授予作为服务登录的帐户。因为您是管理员,您有权授予此权限,但是当组策略重新应用时,该权限将被删除。下次服务停止时将无法启动。

您应该更改策略的范围/过滤以便这台机器免于它,或者使用该策略授予必要的特权。

来自评论的信息:要检查组策略是否正在应用设置,请使用生成的策略向导集 (rsop.msc)
如果要将此设置应用于多台计算机或无法删除定义此设置的现有策略,请使用组策略来定义它。有一篇技术网文章解释了如何做到这一点。
要检查当前的本地安全设置,请使用 secpol.msc - 展开本地策略,然后选择用户权限分配。这将显示当前应用的设置。如果您有足够的访问权限并且没有有效的组策略,那么这将允许您编辑当前策略。如果添加/删除按钮被禁用,则策略当前定义此设置。

如果没有有效的策略,那么允许 windows 授予用户权限是完全没问题的,这只是 windows 提供的一个便利功能。正如 Jez 发现的那样,如果一项政策有效,那么与之抗争就毫无意义。策略通常每隔几个小时就会重新应用一次,并且会不断消除您所做的任何更改。(尽管该服务将继续工作,直到由于其他原因停止)。Jez 提到他认为服务是由安装时生成的 LUID 标识的。我不知道是否是这种情况,但作为服务登录的用户权限不限于任何特定服务。因此,您想以何种服务登录并没有任何区别。

因此,为了更直接地回答 Jez 的评论,如果有一项有效的政策,那么在禁用的 secpol.msc UI 周围寻找方法是没有意义的。用户界面被禁用,以警告您所做的任何更改都不会被保留。在这种情况下,编辑策略是前进的方向,要么授予特权,要么停止进行该设置,以便随后可以在本地分配。

编辑:您似乎认为授予域用户此权限与授予本地用户此权限有些不同。不是。如果有问题的 PC/服务器没有应用任何组策略,那么您打开 secpol.msc,转到有问题的权限,双击,单击添加,然后选择您想要的帐户。我刚刚在加入域的笔记本电脑上尝试了这个,并且添加用户对话框实际上默认为域。如果我想选择一个本地组,那么我必须更改位置。

如果您双击该权限,那么我假设您会看到列表和添加/删除按钮,但这些按钮已禁用,因此您无法编辑列表。这不可能是因为您正在添加域帐户,因为您尚未选择是添加本地帐户还是域帐户。

我在工作中遇到了这个问题,我正在安装的服务只在一台 PC 上运行,所以不能选择更改策略。我们将有问题的 PC 移至未应用任何策略的 OU,然后我可以毫无问题地授予特权。

您可以以迂回方式授予特权的原因是策略只是禁用了 UI,它实际上并没有更改您拥有的权限。然而,它会定期重新应用自身,这就是设置被覆盖的原因。