2012-03-18 25 views
0

我想檢查bash腳本中是否存在具有給定DN的特定組織單位。檢查它的DN是否存在organizationalUnit。 (LDAP,Bash)

我做的ldapsearch:

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

ldapsearch -h localhost -b dc=myroot,dc=local -x -v "(&(objectClass=organizationalUnit)(dn="'"'$OU'"'"))" 

,它總是導致0即使DN存在。

我也曾嘗試:

ldapsearch -h localhost -b dc=myroot,dc=local -x -v "(&(objectClass=organizationalUnit)(dn=$OU))" 

但結果都是一樣的。

我該怎麼辦? dn屬性有一個竅門嗎?

無視我正在使用簡單身份驗證。

回答

0

您不能將DN放入搜索篩選器中,因爲DN不是屬性名稱。 將您的dn作爲搜索庫(ldapsearch -b)和對象類放入搜索過濾器中。 事情是這樣的:

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))' 

而且你會沒事的。

+1

而且我很好。謝謝。 – SoonDead 2012-03-18 21:31:28