2012-03-18 3 views
0

特定の組織単位が指定されたDNを持つことをbashスクリプトでチェックしたいと思います。organizationalUnitがDNによって存在するかどうかを確認します。 (LDAP、Bash)

私は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

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

あなたは大丈夫でしょう。

+1

私は大丈夫です。ありがとう。 – SoonDead

関連する問題