ldapsearch
— утилита для поиска информации в LDAP. Синтаксис:
ldapsearch <параметры> <фильтр> <атрибуты>
ldapsearch
открывает соединение с сервером LDAP, подключается к нему и выполняет поиск с помощью фильтра.
ldapsearch
найдет одну или несколько записей, то значения указанных атрибутов этих записей будут переданы в стандартный поток вывода. Если в этом списке указан знак *, возвращаются все пользовательские атрибуты. Если в этом списке указан знак +, возвращаются все операционные атрибуты. Если атрибуты не указаны, то возвращаются все пользовательские атрибуты.
-L
.
Таблица 54.6. Параметры команды ldapsearch
Параметр
|
Описание
|
---|---|
Параметры поиска
|
|
-a {never|always|search|find}
|
Задает способ преобразования псевдонимов. Может принимать значения: never (по умолчанию), always, search или find, указывающие, соответственно, что псевдонимы не преобразуются, преобразуются всегда, преобразуются при поиске, либо преобразуются только при определении базового объекта для поиска
|
-A
|
Получить только атрибуты (без значений)
|
-b basedn
|
Позволяет переопределить заданную по умолчанию начальную точку поиска
|
-c
|
Режим продолжения операции (не останавливать поиск при ошибках)
|
-E [!]ext[=extparam]
|
Указывает расширения поиска. Знак '!' обозначает критичность расширения.
Общие расширения:
|
-f file
|
Считать серию строк из файла
file и выполнить по одному поиску LDAP для каждой строки. В этом случае заданный в командной строке фильтр filter интерпретируется как шаблон, в котором первое и только первое вхождение %s заменяется строкой из файла file . Любые другие вхождения символа % в шаблоне будут рассматриваться как ошибка. Если требуется, чтобы в поисковом фильтре присутствовал символ %, он должен быть закодирован как \25 (смотрите RFC 4515). Если в качестве значения file указан символ «-», то строки считываются со стандартного ввода
|
-F prefix
|
URL-префикс для временных файлов (по умолчанию: file://path, где
path либо /tmp/.private/<user> , либо значение, указанное в параметре -T )
|
-l limit
|
Ограничение на время поиска (в секундах). Значение 0 (ноль) или none означает, что ограничений нет. Значение max означает максимальное допустимое протоколом значение (целое число)
|
-L[LL]
|
Управление выводом результатов поиска в формате обмена данными LDAP (LDAP Data Interchange Format):
-L — вывести ответы в формате LDIFv1, -LL — отключить вывод комментариев, -LLL — отключить вывод версии LDIF
|
-M[M]
|
Включить элемент управления Manage DSA IT.
-MM делает этот элемент управления критичным
|
-P {2|3}
|
Версия протокола LDAP (по умолчанию 3)
|
-s {base|one|sub|children}
|
Задает область поиска. Может принимать одно из следующих значений: base, one, sub (по умолчанию) или children, что означает поиск только по базовому объекту, на одном уровне, по всему поддереву и по дочерним записям соответственно
|
-S attr
|
Отсортировать возвращаемые записи по атрибуту
attr . По умолчанию возвращаемые записи не сортируются. Если в качестве attr задана строка нулевой длины (""), записи сортируются по компонентам их уникального имени Distinguished Name. По умолчанию ldapsearch выводит записи по мере их получения. При использовании параметра -S все данные сначала получаются, потом сортируются, потом выводятся
|
-t[t]
|
При указании одного
-t полученные непечатаемые значения записываются в набор временных файлов (полезно при работе со значениями, содержащими несимвольные данные, такими как jpegPhoto или audio). При указании второго -t все полученные значения записываются в файлы
|
-T path
|
Временные файлы записываются в указанный в
path каталог (по умолчанию /tmp/.private/<user> )
|
-u
|
Включить в вывод форму удобного для пользователя имени (User Friendly Name, UFN) уникального имени (Distinguished Name, DN)
|
-z limit
|
Ограничить количество возвращаемых в результате поиска записей значением
limit . Значение 0 (ноль) или none означает, что ограничений нет. Значение max означает максимальное допустимое протоколом значение (целое число)
|
Общие параметры
|
|
-d debuglevel
|
Установить уровень отладки LDAP
|
-D binddn
|
Использовать указанное в
binddn уникальное имя Distinguished Name при подсоединении к каталогу LDAP. При SASL-подсоединениях сервер будет игнорировать это значение
|
-e [!]ext[=extparam]
|
Указывает общие расширения. Знак '!' обозначает критичность расширения.
Общие расширения:
|
-h host
|
Сервер LDAP
|
-H URI
|
Указывает URI (возможно, несколько), ссылающийся на LDAP-сервер (серверы). В URI допускаются поля: протокол/хост/порт
|
-I
|
Использовать интерактивный режим SASL
|
-n
|
Демонстрируется, что будет сделано, но реальный поиск не выполняется. Используется для отладки совместно с параметром
-v
|
-N
|
Не использовать обратное разрешение DNS для получения канонического имени хоста SASL
|
-O props
|
Параметры безопасности SASL
|
-o opt[=optparam]
|
Указывает опции общего назначения.
Возможные опции:
|
-p порт
|
Порт, на котором сервер LDAP принимает запросы. Номер порта по умолчанию — 389. Если номер порта не задан, и указан параметр
-Z , то применяется номер порта LDAP SSL по умолчанию, равный 636
|
-Q
|
Использовать тихий режим SASL. Запросы не выводятся никогда
|
-R realm
|
Задаёт realm аутентификационного идентификатора для SASL. Форма realm зависит от того, какой механизм аутентификации в действительности используется
|
-U authcid
|
Идентификатор аутентификации SASL. Форма идентификатора зависит от того, какой механизм аутентификации в действительности используется
|
-v
|
Запустить в подробном режиме (диагностические сообщения посылаются в стандартный вывод)
|
-V[V]
|
Вывести информацию о версии. При указании
-VV , после вывода информации о версии осуществляется выход. При указании -V , после вывода информации о версии выполняется поиск согласно заданным критериям
|
-w passwd
|
Использовать указанное значение
passwd в качестве пароля для простой аутентификации
|
-W
|
Запрашивать ввод пароля для простой аутентификации (используется для того, чтобы не указывать пароль в командной строке)
|
-x
|
Использовать простую аутентификацию
|
-X authzid
|
Идентификатор авторизации SASL ("dn:<dn>" или "u:<user>")
|
-y file
|
Считать пароль из файла
file .
В качестве пароля используется всё содержимое файла. Поэтому файл не должен содержать символа переноса строки
|
-Y mech
|
Задаёт механизм SASL, который будет использоваться для аутентификации. Если параметр не указан, программа выберет лучший из известных серверу механизмов
|
-Z[Z]
|
Запустить запрос TLS (
-ZZ для запроса успешного ответа)
|
<Атрибут><оператор сравнения><значение>Вместо имени атрибута можно использовать его идентификатор (Attribute-Id). Тело фильтра должно быть заключено в скобки
Таблица 54.7. Примеры LDAP-фильтров
Запрос
|
LDAP фильтр
|
---|---|
Все пользователи:
|
(sAMAccountType=805306368)
|
Отключенные (Disabled) пользователи:
|
(&(sAMAccountType=805306368)(useraccountcontrol:1.2.840.113556.1.4.803:=2))
|
Заблокированные (Locked) пользователи:
|
(&(sAMAccountType=805306368)(badPwdCount>=4))
|
Пользователи, у которых в настройках указано «Пароль никогда не истекает»
|
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))
|
Пользователи которые не меняли пароль с 5 мая 2023 года (см. https://www.epochconverter.com/ldap для преобразования даты во временную метку Windows)
|
(&(objectCategory=person)(pwdLastSet<=133278047990000000))
|
Пользователи с незаполненным полем mail
|
(&(objectCategory=group)(!(mail=*)))
|
Пользователи, которые должны сменить пароль при следующем входе в систему
|
(&(sAMAccountType=805306368)(pwdLastSet=0))
|
Пользователи с ограниченным сроком действия учетной записи
|
(&(sAMAccountType=805306368)(accountExpires>=1)(accountExpires<=9223372036854775806))
|
Пользователи, созданные за определенный период (формат даты: YYYY MM DD HH mm ss.s Z)
|
(&(sAMAccountType=805306368)(whenCreated>=20230401000000.0Z<=20230701000000.0Z))
|
Все компьютеры
|
(objectCategory=computer)
|
Все контроллеры домена
|
(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=8192))
|
Контроллеры домена, доступные только для чтения
|
(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=67108864))
|
Группы, в которых нет пользователей
|
(&(objectCategory=group)(!(member=*)))
|
Группы, с ключевым словом admin в имени
|
(&(objectCategory=group)(samaccountname=*admin*))
|
Все группы безопасности (Security)
|
(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483648))
|
Все члены группы Sales (без учёта вложенности)
|
(memberOf=CN=Sales,CN=Users,DC=test,DC=alt)
|
Все члены группы Sales (с учётом вложенности)
|
(memberOf:1.2.840.113556.1.4.1941:=CN=Sales,CN=Users,DC=test,DC=alt)
|
Все группы, в которые входит пользователь testldap
|
(&(objectCategory=group)(member=CN=testldap,CN=Users,DC=test,DC=alt)))
|
Все подразделения (OU)
|
(objectCategory=organizationalUnit)
|
Все объекты групповой политики
|
(objectCategory=groupPolicyContainer)
|
Все отношения доверия
|
(objectClass=trustedDomain)
|
Объекты связанные с ролями FSMO
|
(fsMORoleOwner=*)
|
PDC Emulator
|
(&(objectClass=domainDNS)(fSMORoleOwner=*))
|
RID Master
|
(&(objectClass=rIDManager)(fSMORoleOwner=*))
|
Объект AD с определенным SID
|
(objectSID=S-1-5-21-1723588197-2340999690-1379671080-1105)
|