Сравнение БД LDAP на контроллерах домена
Для проверки статуса репликации LDAP может проводиться сравнение БД LDAP на контроллерах одного домена или двух разных доменов с помощью подкоманды samba-tool ldapcmp.
Общие сведения
Подкоманда сравнивает состав и значения атрибутов объектов каталога в БД LDAP двух контроллеров в одном домене либо в двух различных доменах. Сравнение может проводиться как по всему каталогу, так и по отдельным его разделам.
При поиске в процессе сравнения не обрабатываются скрытые атрибуты, а также нереплицируемые атрибуты (с установленным флагом FLAG_ATTR_NOT_REPLICATED), значения которых всегда различаются у объектов на разных контроллерах домена.
Сравнение БД LDAP может использоваться, например, для проверки корректности репликации после присоединения контроллера к домену, диагностики различных проблем в работе контроллера домена, перед смещением сервера с роли контроллера домена и т. д.
Формат вызова
Для сравнения БД LDAP на контроллерах в одном домене или двух разных доменах Samba AD используется следующий формат вызова:
samba-tool ldapcmp <URL1> <URL2> (domain|configuration|schema|dnsdomain|dnsforest) [options]
При вызове подкоманды указываются:
-
URL БД LDAP первого контроллера домена в стандартном формате
ldap://<имя или IP-адрес хоста>; -
URL БД LDAP второго контроллера домена в стандартном формате
ldap://<имя или IP-адрес хоста>; -
список разделов каталога (через пробел) для сравнения (по умолчанию сравниваются все разделы):
-
domain; -
configuration; -
schema; -
dnsdomain; -
dnsforest.
-
По умолчанию сравниваются все разделы каталога (за исключением нереплицируемых атрибутов).
Для каждого домена может быть передан свой набор реквизитов для доступа с помощью параметров -U|--username/--password и --username2/--password2.
Для сужения области поиска могут использоваться параметры --base и --base2, задающие адрес корневого объекта в каталоге, с которого должен начинаться поиск, а также диапазон поиска — с помощью параметра --scope.
Список атрибутов (через запятую), которые должны быть исключены из сравнения, может быть передан в параметре --filter.
Параметры
Общие параметры вызова:
-
-w|--two— признак того, что контроллеры находятся в разных доменах; -
--sd— сравнение только атрибутов, содержащих дескрипторы безопасности объектов каталога (nTSecurityDescriptor); -
--sort-aces— сортировка записей ACE в атрибутахnTSecurityDescriptorперед сравнением; -
--view=VIEW— режим отображения результатов сравнения атрибутовnTSecurityDescriptor; возможные значения:-
section— отображаются различия, связанные с отсутствием или несовпадением записей ACE; различия, связанные с несовпадением порядка следования записей, не отображаются, если совпадают значения записей и их количество (значение по умолчанию); -
collision— отображаются различия, связанные с отсутствием или несовпадением записей ACE, а также с несовпадением порядка следования записей, даже если совпадают значения записей и их количество;
-
-
--base=BASE— адрес корневого объекта в каталоге, с которого должен начинаться поиск в БД LDAP на первом контроллере домена; -
--base2=BASE2— адрес корневого объекта в каталоге, с которого должен начинаться поиск в БД LDAP на втором контроллере домена; -
--scope=SCOPE— диапазон поиска; возможные значения:-
SUB— при указании данной опции процесс поиска опускается вниз по иерархии от указанного DN (либо, если DN не указан, базового DN домена) до самого нижнего уровня в информационном дереве каталога; -
ONE— при указании данной опции процесс поиска опускается на один уровень от указанного DN (либо, если DN не указан, базового DN домена); -
BASE— при указании данной опции поиск ведется только для указанного DN (либо, если DN не указан, базового DN домена);
-
-
--filter=FILTER— список игнорируемых атрибутов (через запятую); -
--skip-missing-dn— пропуск отсутствующих DN-имен; -
-v|--verbose— вывод детальной информации; -
-q|--quiet— тихий режим (отключает вывод диагностических сообщений во время работы подкоманды).
Дополнительные параметры доступа:
-
--simple-bind-dn2=DN2— DN-имя для использования при простом удаленном подключении к БД LDAP на втором контроллере домена; -
--username2=USERNAME2— имя пользователя для доступа к БД LDAP на втором контроллере домена; -
--password2=PASSWORD2— пароль пользователя для доступа к БД LDAP на втором контроллере домена; -
--workgroup2=WORKGROUP2— значениеWORKGROUPдля доступа к БД LDAP на втором контроллере домена; -
--no-pass2— отсутствие необходимости запрашивать пароль для доступа к БД LDAP на втором контроллере домена; -
--use-kerberos2=desired|required|off— необходимость аутентификации с использованием Kerberos при получении доступа к БД LDAP на втором контроллере домена.
Примеры
Пример сравнения БД LDAP на двух контроллерах в одном домене:
samba-tool ldapcmp ldap://DC1 ldap://DC2 -UAdministrator
Пример сравнения отдельного раздела в БД LDAP на двух контроллерах в одном домене:
samba-tool ldapcmp ldap://DC1 ldap://DC2 configuration -UAdministrator
Пример сравнения с указанием игнорируемого атрибута:
samba-tool ldapcmp ldap://DC1 ldap://DC2 --filter=instanceType -Uadministrator
Пример сравнения атрибутов с указанием корневого DN:
samba-tool ldapcmp ldap://DC1 ldap://DC2 -UAdministrator \
--base='CN=FirstName SecondName,OU=OrgUnit,DC=samdom,DC=example,DC=com' \
--base2='CN=FirstName SecondName,OU=OrgUnit,DC=samdom,DC=example,DC=com'
Пример сравнения БД LDAP на контроллерах в разных доменах:
samba-tool ldapcmp ldap://DC1.samdom1.example.com ldap://DC2.samdom2.example.com --two -UAdministrator --username2=Administrator