问题
因此,我设置了一个具有两个 DC 的新域。我尝试从Authenticated Users
其中一个 OU 中删除该组,这很有效,但是子对象不会更新(它们仍然应用了Authenticated Users
安全组),而继承已启用:
OU 拓扑:
顶级 OUTestOU
注意到该Authenticated Users
组已被删除:
Child1 安全属性注意到Authenticated Users
小组:
Child1 高级安全注意Disable inheritance
按钮:
我试图清除Authenticated Users
对象上的所有权限,然后将其应用于所有后代,但这不起作用......
也没有一个函数(虽然我不知道)来替换所有子对象权限(就像在文件系统级别上一样)。
那么,我怎样才能让继承按我认为的那样发挥作用呢?
答案1
child1 中的已验证用户由于继承而不存在,他们被直接添加到对象中。可能是您选择在删除继承后复制权限,或者他们之前就在那里。
您可以看到它,因为复选框不是灰色的(对于经过身份验证的用户而言)。
答案2
考虑到这个问题的发布时间,现在有点晚了,但我遇到了同样的问题/疑问,并认为发布此问题可能有用。我阻止了 OU 上的继承,删除了经过身份验证的用户,当我创建新对象(例如组)时,经过身份验证的用户被添加到该组的 DACL 中。请参阅此文档
这是由于对对象应用了默认权限,可以通过执行以下操作进行检查(这有点快速和肮脏,但对我来说完成了工作):
- 打开 adsiedit.msc
- 导航至对象(例如
CN=Organizational-unit
) - 复制 defaultSecuritydescriptor 值(这是一个 SDDL 字符串)
将 SDDL 字符串转换为人类可读的 ACE(在 PowerShell 中):
$oldSddl = "insert value you copied in Step 3” $ACLObject = New-Object -TypeName System.Security.AccessControl.DirectorySecurity $ACLObject.SetSecurityDescriptorSddlForm($oldSddl) $ACLObject.Access
代码来自此来源
理论上可以替换此 SDDL 字符串(使用本文中描述的方法,文章),然后将其粘贴到步骤 3 中的值上。通常需要注意的是在测试环境中进行测试、进行适当的备份等。