我想在bash脚本中检查具有给定DN的特定组织单元是否存在。
我正在做一个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属性的技巧?
忽略我正在使用简单身份验证。
答案 0 :(得分:0)
您不能将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))'
你会没事的。