man/ldapsearch
Материал из Xgu.ru
ldapsearch • man/ldapsearch • man/orig/ldapsearch • Пример использования ldapsearch
Перевод: Игорь Чубин
Оригинал: ldapsearch(1)
Эта страница является переводом официальной man-страницы программы ldapsearch, предназначенной для поиска информации в LDAP-каталоге.
Содержание |
[править] Имя
ldapsearch - инструмент для поиска информации в LDAP
[править] Синтаксис
ldapsearch [-n] [-u] [-v] [-t] [-A] [-L[L[L]]] [-M[M]] [-d debuglevel] [-f file] [-D binddn] [-W] [-w passwd] [-y passwdfile] [-H ldapuri] [-h ldaphost] [-p ldapport] [-P 2|3] [-b searchbase] [-s base|one|sub|children] [-a never|always|search|find] [-l timelimit] [-z sizelimit] [-O security-properties] [-I] [-Q] [-U authcid] [-R realm] [-x] [-X authzid] [-Y mech] [-Z[Z]] filter [attrs...]
[править] Описание
ldapsearch это интерфейс к библиотечному вызову ldap_search_ext(3), доступный из командной строки.
ldapsearch соединяется с LDAP-сервером, привязывается к нему и выполняет поиск при помощи указанных параметров. Фильтр filter должен соответствовать строковому представлению поисковых фильтров, описанных в RFC 4515. Если фильтр не задан, используется фильтр по умолчанию (objectClass=*).
Если ldapsearch находит одну или более записей, возвращаются атрибуты, указанные в списке attrs. Если указана *, возвращаются все атрибуты пользователя. Если указан +, возвращаются все рабочие (operational) атрибуты. Если attrs отсутствует, возвращаются все пользовательские атрибуты. Если указан только 1.1, атрибуты не возвращаются.
Результаты поиска представляются в виде расширенной версии LDIF. Опция -L управляет форматом вывода.
[править] Опции
- -n
- Показать что должно быть сделано, но не выполнять поиск на самом деле. Может быть полезно в сочетании с опцией -v для отладки.
- -c
- Режим непрерывного исполнения. ldapsearch сообщает об ошибках, но продолжает работу.
- -u
- Включить в вывод User Friendly Name для Distinguished Name (DN).
- -v
- Запустить в разговорчивом (verbose) режиме; диагностические сообщения должны выводиться на стандартный поток вывода.
- -t[t]
- Выводить непечатаемые значения во временные файлы. Полезно при работе со значениями, содержащими не символьные данные, такими как, например, jpegPhoto или аудио. Если указать второе -t, все полученные значения будут записаны в файлы.
- -T path
- Записывать временные файлы в каталог path (по умолчанию: /var/tmp/)
- -F prefix
- URL-префикс для временных файлов. По умолчанию file://path, где path это /var/tmp/ или каталог, заданный с помощью -T.
- -A
- Получать только атрибуты (без значений). Полезно в тех случаях, когда нужно посмотреть есть атрибут у записи или нет, а его значение не интересует.
- -L
- Результаты поиска показываются в LDAP Data Intechange Format (LDIF) формате. Подробнее о формате в ldif(5). Одно -L означает, что вывод должен быть в формате LDIFv1. Второе -L отключает комментарии. Третье -L отключает вывод версии. По умолчанию используется расширенная версия LDIF.
- -M[M]
- Включить контроль DSA IT. -MM делает контроль критичным.
- -S attribute
- Отсортировать результат по заданному атрибуту. По умолчанию результат не сортируется. Если атрибут нулевой длины (""), записи сортируются по компонентам Distinguished Name. Подробнее в ldap_sort(3). По умолчанию ldapsearch печатает результаты по мере их получения. При использовании сортировки данные сначала получаются, потом сортируются, потом выводятся.
- -d debuglevel
- Установить уровень отладки LDAP равным debuglevel. Программа ldapsearch должна быть откомпилирована с опцией LDAP_DEBUG, иначе эта опция не будет иметь эффекта.
- -f file
- Выполнять LDAP-поиск для каждой строки из файла file. Фильтр заданный в командной строке воспринимается как шаблон, в котором %s заменяется строкой из файла. Если вместо имени файла указан символ -, строки считываются со стандартного потока ввода.
- -x
- Использовать простую аутентификацию вместо SASL.
- -D binddn
- Привязаться к каталогу от имени binddn. В случае использования SASL предполагается, что сервер будет игнорировать это значение.
- -W
- Спросить пароль в ходе простой аутентификации. Этот ключ используется для того, чтобы не указывать пароль в командной строке.
- -w passwd
- Использовать passwd как пароль в ходе простой аутентификации.
- -y passwdfile
- Взять всю необходимую для простой аутентификации информацию из файла passwdfile
- -H ldapuri
- Указать URI LDAP-сервера; ожидается список URI, разделённых пробелами или запятыми; допускаются только поля протокол/хост/порт. В качестве исключения, если хост/порт не указан, но указан DN, необходимые хосты находятся по нему с использованием записей SRVS из DNS, как описано в RFC 2782. DN должен быть не пустой последовательностью AVA с типом атрибута "dc" (domain component). Он должен быть экранирован в соответствии с RFC 2396.
- -h ldaphost
- Указать хост, на котором работает LDAP-сервер. Не рекомендуется использовать. Используйте вместо этого -H
- -p ldapport
- Указать TCP-порт, на котором работает LDAP-сервер. Не рекомендуется использовать. Используйте вместо этого -H
- -b searchbase
- Использовать searchbase в качестве точки начала поиска, вместо стандартной.
- -s base|one|sub|children
- Определяет область (scope) поиска: base, one, sub и children определяет базовый объект, один уровень, поддерево или поиск по потомкам. По умолчанию поиск выполняется в поддереве (sub). Замечание: область children требует чтобы поддерживалась фича LDAPv3 subordinate.
- -a never|always|search|find
- Указать как разыменовывать алиасы. Должно быть указано одно из значений: never, always, search или find, что означает, соответственно, что алиасы никогда не разыменовываются, всегда разыменовываются, разыменовываются при поиске или при поиске базового объекта для поиска. По умолчанию алиасы не разыменовываются вообще.
- -P 2|3
- Указать, какую версию протокола LDAP использовать.
- -l timelimit
- Подождать пока поиск завершится в течение заданного времени timelimit. Значение 0 обозначает, что временного ограничения нет. Значение max обозначает максимальное значение, разрешаемое протоколом. Сервер может накладывать собственное ограничение, которое может перекрыть только root.
- -e [!]ext[=extparam]
- -E [!]ext[=extparam]
- Задать общие расширения с помощью -e и расширения поиска с помощью -E. Знак ! обозначает высокую критичность.
- Общие расширения:
[!]assert=<filter> (фильтр RFC 4515) [!]authzid=<authzid> ("dn:<dn>" или "u:<user>") [!]manageDSAit [!]noop ppolicy [!]postread[=<attrs>] (разделённый запятыми список атрибутов) [!]preread[=<attrs>] (разделённый запятыми список атрибутов) abandon, cancel (SIGINT sends abandon/cancel; not really controls)
- Расширения поиска:
[!]domainScope (domain scope) [!]mv=<filter> (фильтр подходящих записей) [!]pr=<size>[/prompt|noprompt] (paged results/prompt) [!]sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (сортировка на стороне сервера) [!]subentries[=true|false] (subentries) [!]sync=ro[/<cookie>] (LDAP Sync refreshOnly) rp[/<cookie>][/<slimit>] (LDAP Sync refreshAndPersist)
- -l timelimit
- Ждать не более timelimit секунд для окончания операции. Значение timelimit равное 0 или none означает, что ограничений нет. Значение max означает максимальное целое допустимое протоколом. Сервер может вводить лимит, который перекрыть может только пользователь root.
- -z sizelimit
- ограничить количество записей в результате числом sizelimit. Значение 0 или none обозначает, что ограничений быть не должно. Значение max обозначает максимальное целое число, разрешённое протоколом. Сервер может накладывать собственное ограничение, которое может перекрыть только root.
- -O security-properties
- Задать параметры безопасности SASL.
- -I
- Включить интерактивный режим SASL. Всегда спрашивать. По умолчанию: спрашивать только при необходимости.
- -Q
- Включить молчаливый (quiet) режим SASL. Никогда не спрашивать.
- -U authcid
- Задать аутентификационный ID для SASL. Форма ID зависит от того, какой механизм аутентификации в действительности используется.
- -R realm
- Задать realm аутентификационного ID для SASL. Форма realm зависит от того, какой механизм аутентификации в действительности используется.
- -X authzid
- Задать запрашиваемые авторизационный ID для SASL. authzid может быть в одной из форм: dn:<distinguished name> или u:<username>
- -Y mech
- Указать какой SASL-механизм использовать для аутентификации. Если не указан, программа выберет лучший механизм из тех, что знает сервер.
- -Z[Z]
- Расширенный режим StartTLS (Transport Layer Security). Если задать -ZZ, тогда операция обязательно должна быть успешной.
[править] Формат вывода
Если найдена одна или более записей, они выводятся на стандартный поток вывода в формате LDAP Data Interchange Format, LDIF (см. ldif(5)):
version: 1 # bjensen, example, net dn: uid=bjensen,dc=example,dc=net objectClass: person objectClass: dcObject uid: bjensen cn: Barbara Jensen sn: Jensen ...
Если используется опция -t, URI временного файла будет использоваться вместо настоящего значения. Если задан ключ -A, выводятся только имена атрибутов (attributename).
[править] Примеры
Такая команда:
ldapsearch -LLL "(sn=smith)" cn sn telephoneNumber
будет выполнять поиск записи smith (sn=smith) в поддереве (база поиска и другие параметры берутся из ldap.conf(5)). Будут найдены и выведены на стандартный поток вывода: имя (common name, cn), фамилия (surname, sn) и телефонный номер (telephoneNumber). Если найдено две записи, результат будет выглядить похожим на этот:
dn: uid=jts,dc=example,dc=com cn: John Smith cn: John T. Smith sn: Smith sn;lang-en: Smith sn;lang-de: Schmidt telephoneNumber: 1 555 123-4567 dn: uid=sss,dc=example,dc=com cn: Steve Smith cn: Steve S. Smith sn: Smith sn;lang-en: Smith sn;lang-de: Schmidt telephoneNumber: 1 555 765-4321
Такая команда:
ldapsearch -LLL -u -t "(uid=xyz)" jpegPhoto audio
выполнит поиск по стандартному поддереву записей, id пользователя в которых начинается с xyz. DN будет выведен сам и также его дружественное представление (user friendly form, UFN); jpegPhoto и audio будут записаны во временные файлы. Вывод выглядит так (если только одно значение найдено):
dn: uid=xyz,dc=example,dc=com ufn: xyz, example, com audio:< file:///tmp/ldapsearch-audio-a19924 jpegPhoto:< file:///tmp/ldapsearch-jpegPhoto-a19924
Такая команда:
ldapsearch -LLL -s one -b "c=US" "(o=University*)" o description
выполнит одноуровневый на уровне c=US поиск записей, в которых имя организации (o) начинается словом Universite. Будут найдены и выведены название организации и описание (description). Вывод будет выглядеть так:
dn: o=University of Alaska Fairbanks,c=US o: University of Alaska Fairbanks description: Preparing Alaska for a brave new yesterday description: leaf node only dn: o=University of Colorado at Boulder,c=US o: University of Colorado at Boulder description: No personnel information description: Institution of education and research dn: o=University of Colorado at Denver,c=US o: University of Colorado at Denver o: UCD o: CU/Denver o: CU-Denver description: Institute for Higher Learning and Research dn: o=University of Florida,c=US o: University of Florida o: UFl description: Warper of young minds ...
[править] Диагностика
Код завершения равен 0, если ошибок не было. Если ошибки были, код завершения отличен от 0, и на стандартный поток ошибок отправляются диагностические сообщения.
[править] См. также
ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldap.conf(5), ldif(5), ldap(3), ldap_search(3)
[править] Автор
The OpenLDAP Project <http://www.openldap.org/>
[править] Благодарности
OpenLDAP разрабатывается и спопровождается в рамках проекта The OpenLDAP Project (http://www.openldap.org/). OpenLDAP базируется на University of Michigan LDAP 3.3 Release.
[править] Ссылки сюда
ldap_table(5)
[править] Материалы по LDAP на xgu.ru
- LDAP
- Схема LDAP
- LDAP-репликация и Samba
- Squid и LDAP
- Sudo и LDAP
- Jabber и LDAP
- Apache и LDAP
- RADIUS и LDAP
- Asterisk и LDAP
- man-страницы:
- man:ldapadd — добавление записей
- man:ldapdelete — удаление записей
- man:ldapmodify — модификация записей
- man:ldapmodrdn — переименование записей
- man/ldapsearch — поиск записей
Серверы LDAP: