2013-05-28 2 views
3

Я вынимаю информацию о пользователе из ldap. Это включает directReports, который находится в полной форме «CN = cnBlah, OU = ouBlah, DC = dcBlah». Я пытаюсь сделать еще один поиск, чтобы найти информацию о реферере.Как искать по dn in ldap

До сих пор единственным способом, которым я смог найти этого пользователя, является разрывание CN = и установка остальной части строки в качестве базы.

Это правильный способ сделать это? Или есть способ поиска записи с полным dn?

ответ

5

Используйте DN в качестве базового объекта в поиске и задайте область поиска base.

Для получения дополнительной информации см Using ldapsearch

+0

Я нашел (в другом посте Терри), что волшебная комбинация кажется: 1) установите базу поиска в DN, на который вы смотрите. 2) установите для вашего фильтра поиска значение «(&)». –

1

Вызов ldapsearch с -f вариант будет делать довольно много, что вы хотите.

Сохраните первые результаты поиска в файле, используя только значение атрибута cn. Например, ваш файл будет выглядеть следующим образом:

user1 
user2 
cnBlah 
john 
jim 
user883 

Затем вызовите ldapsearch с базой, которая является достаточно высокой, чтобы охватить всех пользователей. Это может быть -b dc=users,dc=example,dc=com.

Так что, если вы сохранили свой список пользователей в файл с именем users.txt, командная строка ldapsearch будет выглядеть следующим образом:

#I removed the hostname, port and authentification for clarity 
ldapsearch -b "dc=users,dc=example,dc=com" -s sub "cn=%s" -f users.txt -LLL 

Длинные линии будут заворачивать на ~ 76 символов. Ничего, что труба через perl -p00e 's/\r?\n //g' не может исправить.

-1

Если у вас уже есть полное DN, вам не нужно выполнять поиск вообще. Просто выполните операцию поиска.

+2

@downvoter Пожалуйста, объясните. Необъяснимые нисходящие спутники склонны восприниматься как простому вандализму. Если вы считаете, что есть некоторая ошибка, пожалуйста, укажите его. – EJP

+0

Я остаюсь мистифицированным этими downvotes. У меня есть производственный код, который делал именно это в течение шести лет. – EJP

Смежные вопросы