LDAPSEARCH(1)

НАЗВАНИЕ

ldapsearch - инструмент поиска LDAP

СИНТАКСИС

ldapsearch [ -V[V]] [ -d debuglevel] [ -n] [ -v] [ -c] [ -u] [ -t[t]] [ -T path] [ -F prefix] [ -A] [ -L[L[L]]] [ -S attribute] [ -b searchbase] [ -s {base|one|sub|children}] [ -a {never|always|search|find}] [ -l timelimit] [ -z sizelimit] [ -f file] [ -M[M]] [ -x] [ -D binddn] [ -W] [ -w passwd] [ -y passwdfile] [ -H ldapuri] [ -h ldaphost] [ -p ldapport] [ -P {2|3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o opt[=optparam]] [ -O security-properties] [ -I] [ -Q] [ -N] [ -U authcid] [ -R realm] [ -X authzid] [ -Y mech] [ -Z[Z]] filter [ attrs...]

ОПИСАНИЕ

ldapsearch - это интерфейс работы из командной строки для библиотечного вызова ldap_search_ext(3).

ldapsearch открывает соединение с сервером LDAP, выполняет подсоединение и поиск с использованием указанных параметров. Параметр filter должен соответствовать строковому представлению поисковых фильтров, как определено в RFC 4515. Если этот параметр не указан, используется фильтр по умолчанию (objectClass=*).

Если ldapsearch находит одну или несколько записей, возвращаются атрибуты, указанные в списке attrs. Если в этом списке указан знак *, возвращаются все пользовательские атрибуты. Если в этом списке указан знак +, возвращаются все операционные атрибуты. Если список attrs не указан, возвращаются все пользовательские атрибуты. Если в списке указан только OID 1.1, никаких атрибутов не возвращается.

Результаты поиска отображаются в виде расширенной версии LDIF. Формат вывода контролируется с помощью параметра -L.

ПАРАМЕТРЫ

-V[V] Вывод информации о версии. При указании -VV выводится только информация о версии.
-d debuglevel
  Установить уровень отладки LDAP в debuglevel. Чтобы этот параметр работал, ldapsearch должен быть скомпилирован с опцией LDAP_DEBUG.
-n Демонстрируется, что будет сделано, но реальный поиск не выполняется. Используется для отладки совместно с параметром -v.
-v Запуск в режиме подробного вывода, множество диагностических сообщений посылается на стандартный вывод.
-c Режим продолжения операции. Выводятся сообщения об ошибках, но ldapsearch продолжает поиск. По умолчанию после сообщения об ошибке происходит завершение работы. Применимо только совместно с параметром -f.
-u В вывод включается форма удобного для пользователя имени (User Friendly Name, UFN) уникального имени (Distinguished Name, DN).
-t[t] При указании одного -t полученные непечатаемые значения записываются в набор временных файлов. Полезно при работе со значениями, содержащими несимвольные данные, такими как jpegPhoto или audio. При указании второго -t все полученные значения записываются в файлы.
-T path Временные файлы записываются в указанную в path директорию (по умолчанию /var/tmp/).
-F prefix URL-префикс для временных файлов. По умолчанию file://path, где path - либо /var/tmp/, либо значение, указанное в параметре -T.
-A Получать только атрибуты (без значений). Полезно, если Вы хотите лишь убедиться в наличии атрибута в записи и не интересуетесь конкретными значениями.
-L Управление выводом результатов поиска в формате обмена данными LDAP (LDAP Data Interchange Format), описанном в ldif(5). Единичный -L ограничивает вывод форматом LDIFv1. Второй -L отключает вывод комментариев. Третий -L отключает вывод версии LDIF. По умолчанию используется расширенная версия LDIF.
-S attribute
  Отсортировать возвращаемые записи по атрибуту attribute. По умолчанию возвращаемые записи не сортируются. Если в качестве attribute задана строка нулевой длины (""), записи сортируются по компонентам их уникального имени Distinguished Name. Подробнее смотрите в ldap_sort(3). Обратите внимание, что по умолчанию ldapsearch выводит записи по мере их получения. При использовании параметра -S все данные сначала получаются, потом сортируются, потом выводятся.
-b searchbase
  Использовать в качестве точки начала поиска searchbase вместо значения по умолчанию.
-s {base|one|sub|children}
  Указывает диапазон поиска. Может принимать одно из следующих значений: base, one, sub или children, что означает поиск только по базовому объекту, на один уровень ниже, по всему поддереву и по дочерним записям соответственно. Значение по умолчанию - sub. Примечание: для диапазона children требуется расширение LDAPv3 subordinate feature.
-a {never|always|search|find}
  Указывает, как выполняется разыменование псевдонимов. Может принимать одно из следующих значений: never, always, search или find, что означает, что псевдонимы никогда не разыменовываются, всегда разыменовываются, разыменовываются при поиске или при нахождении базового объекта поиска соответственно. По умолчанию псевдонимы никогда не разыменовываются.
-l timelimit
  Ждать окончания поиска не более timelimit секунд. Значение timelimit 0 (ноль) или none означает, что ограничений нет. Значение timelimit max означает максимальное допустимое протоколом значение (целое число). Сервер может налагать своё максимальное значение ограничения по времени timelimit, переопределить его может только пользователь root.
-z sizelimit
  Ограничить количество возвращаемых в результате поиска записей значением sizelimit. Значение sizelimit 0 (ноль) или none означает, что ограничений нет. Значение sizelimit max означает максимальное допустимое протоколом значение (целое число). Сервер может налагать своё максимальное значение ограничения по количеству записей sizelimit, переопределить его может только пользователь root.
-f file Считать серию строк из файла file и выполнить по одному поиску LDAP для каждой строки. В этом случае заданный в командной строке фильтр filter интерпретируется как шаблон, в котором первое и только первое вхождение %s заменяется строкой из файла file. Любые другие вхождения символа % в шаблоне будут рассматриваться как ошибка. Если требуется, чтобы в поисковом фильтре присутствовал символ %, он должен быть закодирован как \25 (смотрите RFC 4515). Если в качестве значения file указан единичный символ -, то строки считываются со стандартного ввода. Если не используется параметр -c, ldapsearch будет завершать работу после первой операции поиска, вернувшей неудачный код возврата.
-M[M] Включить элемент управления Manage DSA IT. -MM делает этот элемент управления критичным.
-x Использовать простую аутентификацию вместо SASL.
-D binddn Использовать указанное в binddn уникальное имя Distinguished Name при подсоединении к каталогу LDAP. При SASL-подсоединениях сервер будет игнорировать это значение.
-W Запрашивать ввод пароля для простой аутентификации. Используется для того, чтобы не указывать пароль в командной строке.
-w passwd Использовать указанное значение passwd в качестве пароля для простой аутентификации.
-y passwdfile
  Использовать полное содержимое файла passwdfile в качестве пароля для простой аутентификации.
-H ldapuri
  Указывает URI (возможно, несколько), ссылающийся на LDAP-сервер (серверы); в качестве значения параметр принимает список URI, разделённый пробелами или запятыми; в URI допускаются только поля протокол/хост/порт. В порядке исключения, если указан не хост/порт, а DN, этот DN используется для поиска соответствующего хоста (хостов) с помощью SRV-записи DNS в соответствии с RFC 2782. DN должен быть непустой последовательностью AVA с типом атрибута "dc" (domain component). Он должен быть экранирован согласно требованиям RFC 2396.
-h ldaphost
  Указывает альтернативный хост, на котором работает LDAP-сервер. Устаревший параметр; используйте вместо него -H.
-p ldapport
  Указывает альтернативный порт TCP, на котором ожидает соединений LDAP-сервер. Устаревший параметр; используйте вместо него -H.
-P {2|3} Указывает, какую версию протокола LDAP использовать.
-e [!]ext[=extparam]
-E [!]ext[=extparam]
 

Указывает общие расширения с помощью -e и расширения поиска с помощью -E. Знак '!' обозначает критичность расширения.

Общие расширения:

  [!]assert=<filter>    (фильтр RFC 4515)
  [!]authzid=<authzid>  ("dn:<dn>" или "u:<user>")
  [!]bauthzid           (элемент управления authzid RFC 3829)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (разделённый запятыми список атрибутов)
  [!]preread[=<attrs>]  (разделённый запятыми список атрибутов)
  [!]relax
  sessiontracking
  abandon,cancel,ignore (сигнал SIGINT посылает abandon/cancel,
  либо в ответ на него посылается ignore; если расширение помечено
  как критичное, сигнал SIGINT не принимается;
  ненастоящие элементы управления)

Расширения поиска:

  !dontUseCopy
  [!]domainScope                       (диапазон домена)
  [!]mv=<filter>                       (фильтр совпавших значений)
  [!]pr=<size>[/prompt|noprompt]       (постраничный вывод результатов/запрос вывода)
  [!]sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...]  (сортировка на стороне сервера)
  [!]subentries[=true|false]           (подзаписи)
  [!]sync=ro[/<cookie>]                (LDAP Sync refreshOnly)
          rp[/<cookie>][/<slimit>]     (LDAP Sync refreshAndPersist)
  [!]vlv=<before>/<after>(/<offset>/<count>|:<value>)  (вид виртуального списка)
  [!]deref=derefAttr:attr[,attr[...]][;derefAttr:attr[,attr[...]]]
  [!]<oid>[=<value>]

-o opt[=optparam]
 

Указывает опции общего назначения.

Возможные опции:

  nettimeout=<timeout>  (в секундах, либо "none" или "max")
  ldif-wrap=<width>     (в символах, либо "no" для предотвращения разбиения строк)

-O security-properties
  Указывает параметры безопасности SASL.
-I Включает интерактивный режим SASL. Запросы выводятся всегда. По умолчанию запросы выводятся только по мере необходимости.
-Q Включает тихий режим SASL. Запросы не выводятся никогда.
-N Указывает не использовать обратное разрешение DNS для получения канонического имени хоста SASL.
-U authcid
  Задаёт аутентификационный идентификатор для подсоединений SASL. Форма идентификатора зависит от того, какой механизм аутентификации в действительности используется.
-R realm Задаёт realm аутентификационного идентификатора для подсоединений SASL. Форма realm зависит от того, какой механизм аутентификации в действительности используется.
-X authzid
  Задаёт запрашиваемый авторизационный идентификатор для подсоединений SASL. Значение authzid должно быть в одном из следующих форматов: dn:<distinguished name> или u:<username>
-Y mech Задаёт механизм SASL, который будет использоваться для аутентификации. Если параметр не указан, программа выберет лучший из известных серверу механизмов.
-Z[Z] Запрос расширенной операции StartTLS (Transport Layer Security). При использовании -ZZ эта операция должна быть выполнена успешно.

ФОРМАТ ВЫВОДА

Если найдена одна или несколько записей, каждая запись выводится в стандартный поток вывода в формате LDAP Data Interchange Format или 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

выполнит поиск по поддереву (с использованием базы поиска и других параметров по умолчанию, заданных в ldap.conf(5)) для записей, в которых атрибут surname (sn) имеет значение smith. Будут получены и выведены в стандартный поток вывода значения атрибутов 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

выполнит поиск по поддереву с использованием базы поиска по умолчанию для записей, в которых атрибут uid имеет значение "xyz". Форма удобного для пользователя имени DN будет выведена после строки, содержащей само DN, а значения атрибутов 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 для всех записей, значение атрибута organization name (o) которых начинается с University. Будут запрошены и выведены в стандартный поток вывода значения атрибутов organization name и 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

...

ДИАГНОСТИКА

Если ошибок не произошло, код завершения - ноль. При наличии ошибок код завершения будет ненулевым, а в стандартный поток ошибок будет выведено диагностическое сообщение.

СМОТРИТЕ ТАКЖЕ

ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldap.conf(5), ldif(5), ldap(3), ldap_search_ext(3), ldap_sort(3).

АВТОРЫ

OpenLDAP Project <http://www.openldap.org/>

ПРИЗНАНИЕ ЗАСЛУГ

Программное обеспечение OpenLDAP разработано и поддерживается проектом OpenLDAP <http://www.openldap.org/>. Программное обеспечение OpenLDAP является производным от релиза 3.3 LDAP Мичиганского Университета.


OpenLDAP 2.4.44 LDAPSEARCH (1) 2016/02/05
Страница сгенерирована с использованием manServer 1.07.