ldap 在开头搜索非特定 OUT 的属性

ldapsearch for attribute for non specific OUT at the beginning

您好,我在尝试获取某些用户的属性时遇到了问题。他们中的大多数被放置在同一个 OU“用户”下,但其中一些被放置在几个不同的 OU(国际用户或外部用户等)

现在我正在尝试像这样获取属性 sAMAccountName :

ldapsearch -u someuser -w somepasword -v -x -H ldap://my.ldap.ip.dir 
-D "CN=MYCN,OU=GENERIC USERS,OU=USERS,DC=set,DC=ads,DC=myorg,DC=ca" 
-b "CN=SAMUEL L JACKSON,OU=DEL,OU=USERS,DC=set,DC=ads,DC=myorg,DC=ca" "(&(objectclass=group)(cn=G LAW *))" 
sAMAccountName

但是有些用户不在 OU=USERS 下,我可以在几个位置找到它们:

ldapsearch -u someuser -w somepasword -v -x -H ldap://my.ldap.ip.dir 
-D "CN=MYCN,OU=GENERIC USERS,OU=USERS,DC=set,DC=ads,DC=myorg,DC=ca" 
-b "CN=SAMUEL L JACKSON,OU=DEL,OU=INTERNATIONAL USERS,DC=set,DC=ads,DC=myorg,DC=ca" "(&(objectclass=group)(cn=G LAW *))" 
sAMAccountName

ldapsearch -u someuser -w somepasword -v -x -H ldap://my.ldap.ip.dir 
-D "CN=MYCN,OU=GENERIC USERS,OU=USERS,DC=set,DC=ads,DC=myorg,DC=ca" 
-b "CN=SAMUEL L JACKSON,OU=DEL,OU=EXTERNAL USERS,DC=set,DC=ads,DC=myorg,DC=ca" "(&(objectclass=group)(cn=G LAW *))" 
sAMAccountName

我想要的是能够在 -b "CN=SAMUEL L JACKSON,OU=DEL" 处递归搜索并在任何地方获取 sAMAccountName(也许他们是国际用户,或者他们可能是外部用户或在同一级别的另一个 OU)

您需要将搜索基础更改为 DC=set,DC=ads,DC=myorg,DC=ca(与 FQDN 一样:从右到左阅读,保留所有匹配条目共有的最长部分)。

此外,过滤器是错误的,因为您不希望组条目以特定 cn 开头,而是用户条目:

(&(objectCategory=person)(objectClass=user))

如果您只需要属于特定组的用户,那么您可以使用:

(&(objectCategory=person)(objectClass=user)(memberOf=<groupDN>))