Active directory 链中的LDAP匹配规则能否返回';子树搜索结果';具有属性(特别是“memberOf”)?
我有一个带有嵌套组的ActiveDirectory(AD)测试实例:Employees(Parent)和两个子组:Executive和EngineersActive directory 链中的LDAP匹配规则能否返回';子树搜索结果';具有属性(特别是“memberOf”)?,active-directory,activedirectorymembership,active-directory-group,Active Directory,Activedirectorymembership,Active Directory Group,我有一个带有嵌套组的ActiveDirectory(AD)测试实例:Employees(Parent)和两个子组:Executive和Engineers Tree: Employees | -Executives | | | -Mister Executive | -Engineers | -Joe Engineer 我看到广告扩展LDAP_匹配_链中的_规则_将搜索子树;我可以使用此查询搜索所有员工用户: query: ( &
Tree:
Employees
|
-Executives
| |
| -Mister Executive
|
-Engineers
|
-Joe Engineer
我看到广告扩展LDAP_匹配_链中的_规则_将搜索子树;我可以使用此查询搜索所有员工用户:
query:
( & (objectClass=person) (memberOf:1.2.840.113556.1.4.1941:=CN=Employees,CN=Users,DC=cloud,DC=com))
问题:递归搜索,但没有递归结果
但是,我无法找到获取“子树搜索结果”的方法,即当查询返回“Mister Executive”作为“Employee”时,“memberOf”属性仅列出“Executive”,即他直接所属的组。我检查了所有其他属性,没有看到任何“员工”
重述
最后澄清一下:AD是否允许以任何方式检索“subtree memberOf”结果以及搜索链中的“subtree”LDAP匹配规则(“memberOf:1.2.840.113556.1.4.1941:=”)搜索
提前感谢,我编辑了这篇文章,因为列表没有必要 将过滤器更改为:
(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=CN=Employees,CN=Users,DC=cloud,DC=com))
我认为您正在混淆组和节点 目录树 目录是一棵树,其中每个对象都是一个节点。Active Directory有点特殊,因为只有少数对象(如
组织单元
(OU)、域
或容器
)可以是包含用户对象的节点
因此,目录搜索包括:
member
、memberOf
、manager
、managedBy
,Microsoft提供了一种称为uniqueName
的特殊语法。此语法用于可分辨名称,但目录为这些属性提供了一种关系完整性。这意味着,例如,如果在目录中移动对象,则此属性中的DN将保留其值。如果移动用户,将自动调整其所属组中的成员
属性
现在LDAP\u匹配\u链中的\u规则
当用户X是组a的成员时。用户X DN位于组a的成员属性中,组a DN位于用户X的成员属性中。如果组a是组B的成员,用户X属于组B,但B组DN不在用户X的memberOf属性中。在这里,您可以使用\u链中的LDAP\u匹配\u规则\u
查找属于组的递归。这是一个特殊的扩展匹配操作符,它沿着对象中的祖先链一直走到根,直到找到匹配
这种查询的Microsoft示例旨在检查用户“user1”是否是组“group1”的成员。您可以将base设置为用户DN(cn=user1,cn=users,dc=x),将scope设置为base,并使用以下查询
(memberOf:1.2.840.113556.1.4.1941:=cn=Group1,OU=groupsOU,DC=x)
类似地,要查找“user1”是其成员的所有组,请将base设置为groups容器DN;例如(OU=groupsOU,dc=x)和作用域到子树,并使用以下筛选器
(member:1.2.840.113556.1.4.1941:=cn=user1,cn=users,DC=x)
因此,链中的LDAP匹配规则与目录树节点无关。如果您试图解决的问题是: 我有一个用户DN,我想找到他/她所属的所有组 您要使用的是computed属性,该属性包含考虑继承的所有用户计算组的SID。这就是目录服务集成工具为实现最大可靠性所做的工作 (根据您的需要,另请参见tokenGroupsGlobalAndUniversal)
搜索的基础是域根,还是至少是用户所在的OU?你的广告是2003年还是2008年?你能发布整个搜索栏吗?是的,基本搜索应该是“用户OU”。我认为现在是2008年(很难说),但我们支持2003年和2008年。至于“整个搜索块”,我只是在LDAP搜索工具中测试查询——只是粘贴上面的查询。你想要结果吗?如果你看这里:,你会发现你想要的是可能的。如果你把例子1和5结合起来,你应该得到你想要的,假设2003年安装了修补程序,或者你有2008年的广告。我不确定例子5是否适用。“memberOf”属性不同于其他属性,因为它是“虚拟的”或“动态计算的”。另外,我还想查询多个成员,并“获取他们的嵌套组成员资格”。他想要Employees组和所有子组的所有成员。他的问题很好。他只是混淆了个人和用户(分类或类)。这是对
LDAP\u MATCHING\u RULE\u IN\u chain
实际检查的链的一个很好、简洁的描述。嗯。。。ldp.exe不起作用,但ldapsearch起作用。ldp.exe似乎需要一个查询,即objectclass=*来抛出这个问题。
○ → ldapsearch -o ldif-wrap=no -LLL -Y GSSAPI -H ldap://ad1.mdmarra.local -b 'CN=Michael Brown,OU=Employees,DC=mdmarra,DC=local' -s base memberOf tokenGroups
dn: CN=Michael Brown,OU=Employees,DC=mdmarra,DC=local
memberOf: CN=Staff,OU=Security Groups,DC=mdmarra,DC=local
memberOf: CN=cloud_users,OU=Security Groups,DC=mdmarra,DC=local
memberOf: CN=TACACS-NOC-Customer,OU=Security Groups,DC=mdmarra,DC=local
memberOf: CN=TACACS-NOC,OU=Security Groups,DC=mdmarra,DC=local
memberOf: CN=PRTG-Admins,CN=Users,DC=mdmarra,DC=local
tokenGroups:: AQIAAAAAAAUgAAAAIQIAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5TsreSgAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5TsrQCgAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr7xkAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr+xkAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5TsrAQIAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5TsrcRIAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr7ScAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr8BkAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr8RkAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr9hkAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5TsrWigAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5TsrWygAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr7hkAAA==
tokenGroups:: AQUAAAAAAAUVAAAA2TH4QrS3zSIH5Tsr+RkAAA==
○ → ldbsearch -k yes -H ldap://ad1.mdmarra.local -b 'CN=Michael Brown,OU=Employees,DC=mdmarra,DC=local' -s base memberOf tokenGroups
…
memberOf: CN=PRTG-Admins,CN=Users,DC=mdmarra,DC=local
tokenGroups: S-1-5-32-545
tokenGroups: S-1-5-21-1123561945-583907252-725345543-10361
tokenGroups: S-1-5-21-1123561945-583907252-725345543-10304
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6639
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6651
tokenGroups: S-1-5-21-1123561945-583907252-725345543-513
tokenGroups: S-1-5-21-1123561945-583907252-725345543-4721
tokenGroups: S-1-5-21-1123561945-583907252-725345543-10221
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6640
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6641
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6646
tokenGroups: S-1-5-21-1123561945-583907252-725345543-10330
tokenGroups: S-1-5-21-1123561945-583907252-725345543-10331
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6638
tokenGroups: S-1-5-21-1123561945-583907252-725345543-6649