Проверка существования организационного подразделения по его DN. (LDAP, Bash) - PullRequest
0 голосов
/ 18 марта 2012

Я хочу проверить в bash-скрипте, что определенная организационная единица с данным DN существует.

Я делаю 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?

Не обращайте внимания на то, что я использую простую аутентификацию.

1 Ответ

0 голосов
/ 18 марта 2012

Вы не можете поместить 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))'

И все будет хорошо.

...