检查其是否存在organizationalUnit';s DN。(LDAP,Bash)

检查其是否存在organizationalUnit';s DN。(LDAP,Bash),bash,search,ldap,dn,Bash,Search,Ldap,Dn,我想在bash脚本中检查具有给定DN的特定organizationalunit是否存在 我正在做一个ldapsearch: OU="ou=HQ,dc=myroot,dc=local" ldapsearch -h localhost -b dc=myroot,dc=local -x -v "(&(objectClass=organizationalUnit)(dn="'"'$OU'"'"))" 即使DN存在,它也总是结果为0 我也尝试过: ldapsearch -h localhost

我想在bash脚本中检查具有给定DN的特定organizationalunit是否存在

我正在做一个ldapsearch:

OU="ou=HQ,dc=myroot,dc=local"

ldapsearch -h localhost -b dc=myroot,dc=local -x -v "(&(objectClass=organizationalUnit)(dn="'"'$OU'"'"))"
即使DN存在,它也总是结果为0

我也尝试过:

ldapsearch -h localhost -b dc=myroot,dc=local -x -v "(&(objectClass=organizationalUnit)(dn=$OU))"
但结果是一样的

我怎么做?dn属性有技巧吗


忽略我使用的是简单身份验证。

您不能将DN放入搜索筛选器中,因为DN不是属性名。 将您的dn作为搜索基础(ldapsearch-b)和objectclass放入搜索过滤器。 大概是这样的:

OU='ou=HQ,dc=myroot,dc=local'
ldapsearch -h localhost -b "$OU" -x -v -D'cn=admin,dc=myroot,dc=local' -wyour_ldap_password '(&(objectClass=organizationalUnit))'
你会没事的