0

特定の DN を持つ特定の組織単位が存在することを 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 属性にトリックはありますか?

簡単な認証を使用していることは無視してください。

4

1 に答える 1

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

そして、あなたは大丈夫です。

于 2012-03-18T18:48:29.300 に答える