我在一个Windows AD域上遇到了一个特权问题。
我有一个Windows Server 2008服务器(与几个Windows Server 2003虚拟机)都是一个域的成员(但绝不是备份控制器等 – 这是通过另一台服务器处理)。 其中一些服务器需要通常只具有域用户权限的用户进行pipe理,因此我创build了一个新组(VMAdmins)将其添加到其中,并开始构build特定的GPO以应用于这些机器。
由于组策略和整洁的原因,虚拟机在自己的OU中,我创build了一个链接到特定OU的GPO。
我在计算机configuration> Windows设置>安全设置>本地策略> USer权限分配下为上述组分配了各种权限,以testing理论。
我有gpupdate /强制和反弹的服务器,并运行rsop.msc来确定应用的政策。 该工具正确显示在“源GPO”下应用的GPO,并且该组被列为具有该特权。
不过,问题的症结在于;
whoami / priv与rsop.msc所说的不一致,例如rsop说用户具有Shutdown权限,但是在whoami下它说“禁用”。
任何人都可以阐明为什么这可能会发生?
非常感谢,
汤姆
whoami / priv显示当前的特权状态,而不是实际的特权。 您将使用域帐户的“pipe理员”看到相同的情况。 当你真的这样做的时候它会被启用。
一个很好的解释是: http : //alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsAPrivilege.html
从那里引用:
一个特权的正常使用模式可以用一个例子来说明。 假设你想重启系统。 你知道这是一个特权操作,所以你进入你的进程标记,并尝试启用SeShutdownPrivilege。 如果您已通过政策授予了此权限,则您的令牌应具有该权限,因此您将被允许启用该权限。 如果你还没有被授予这个特权,你尝试启用它将会失败,在这个时候你需要处理你不允许重启系统的事实(在桌面应用程序中,你可以通知例如,她与消息框缺乏特权的用户)。 假设您已经成功启用了该特权,则会调用Win32函数ExitWindowsEx来请求重新启动。 最后,你应该禁用该特权。 注意这里的模式:启用,使用,禁用,就像警察用他的灯泡。
因为你正在重启系统,所以你可能会认为禁用这个权限是浪费时间。 但是,正如你永远不应该懒惰分配内存而不释放它一样,只要你完成了使用,你永远不应该激活一个特权。 你永远不知道谁会在另一个项目中剪切和粘贴你的代码! 此外,例行程序如何知道重启将实际发生,并且程序将实际退出? 通常,用户只有在意识到需要先保存一些工作时才会启动重新引导以取消重新引导。 在实际执行重新启动的例程中深入了解所有这些事情是很困难的。 确保您的每个安全基元(如特权使用)遵循最佳实践。 不要采取捷径。
一些特权如果被授予,则一直被启用。 SeChangeNotifyPrivilege(也称为“绕行遍历检查”3)和SeImpersonatePrivilege是值得注意的示例。 这些就像警察的手枪 – 他有权把它带到街上,而且没有它,他就不会上class。 如果您通过策略授予了这些权限,则操作系统将默认在login时获得的第一个令牌中启用它们,因此您不必在运行时担心这些令牌。 许多Win32函数(但不是全部)将权限的启用和禁用作为方便。 此外,我期望,随着.NET Framework继续抽象更多的Win32 API,您将越来越less需要担心手动启用权限。 但这是一个技术细节。 安全策略仍将控制哪些人可以执行特权操作,哪些人不能执行特权操作,因此您应该了解Windows定义的权限,以便了解您的程序在安全策略方面的要求。
是否启用了环回处理?
您是否将安全筛选应用于正确的对象/用户/组?