ldapsearch用户并显示他们所有的继承组

时间:2015-12-03 18:32:36

标签: ldap ldap-query

我想对用户进行ldap搜索以获取他们及其所有继承的组。 例如,我这样做是为了获取用户的组:

ldapsearch \
-h DomainServer \
-W \
-b "cn=users,dc=my,dc=domain,dc=com" \
-s sub "(cn=My Name*)" memberof

我知道这里描述了这个LDAP_MATCHING_RULE_IN_CHAIN:https://msdn.microsoft.com/en-us/library/windows/desktop/aa746475(v=vs.85).aspx 但我不知道如何在这种情况下使用它以及在哪里使用它。我把它放在我的用户名之前的成员和前面的末尾,这给了我没有结果或坏搜索过滤器。

ldapsearch \
-h DomainServer \
-W \
-b "cn=users,dc=my,dc=domain,dc=com" \
-s sub "(memberof:1.2.840.113556.1.4.1941:=cn=My Name*)" memberof
result: 0 Success

ldapsearch \
-h DomainServer \
-W \
-b "cn=users,dc=my,dc=domain,dc=com" \
-s sub "(cn=My Name*)" memberof:1.2.840.113556.1.4.1941:
result: 0 Success

知道如何正确使用它吗?谢谢!

编辑:过滤器现在的工作原理如下:

(member:1.2.840.113556.1.4.1941:=CN=My User,CN=Users,DC=my,DC=domain,DC=com)

但实际上我想让所有用户都能使用它,而不仅仅是一个,所以这样:

(member:1.2.840.113556.1.4.1941:=CN=*,CN=Users,DC=my,DC=domain,DC=com)

但那又是一个糟糕的搜索过滤器:( 我的搜索库是一个OU,所以我只获得了一些特定的LDAP组

OU=SomeOrganizaionalUnit,OU=SystemAccess,OU=Groups,DC=my,DC=domain,DC=com

这一切都适用于一个特定用户,但不适用于任何用户。

1 个答案:

答案 0 :(得分:1)

查找All Groups a User is a member of including Nested Groups

已知此过滤器有效: (成员:1.2.840.113556.1.4.1941:=(CN =用户名,CN =用户,DC = YOURDOMAIN,DC = NET))

AFIK,它只适用于Microsoft Active Directory。

此外,AFIK,在单个LDAP查询中,您只能获得All Groups a User is a member of including Nested GroupsResolves all members (including nested) security groups (requires at least Windows 2003 SP2)这样的过滤器:

(memberOf:1.2.840.113556.1.4.1941:=CN=GroupOne,OU=Security Groups,OU=Groups,DC=YOURDOMAIN,DC=NET)