К содержанию
Trialix

Произвольный LDAP («своя схема»)

Профиль custom для каталогов с нестандартной схемой: 389 Directory Server, Red Hat Directory Server, OpenLDAP со своими классами и другие LDAP-серверы. Фильтры и атрибуты задаются флагами setup. Этот профиль работает в автотесте Trialix на каждом выпуске (OpenLDAP 2.4, entryUUID, свой признак отключения). Для Active Directory и Samba AD используйте профили ad и samba: в custom двоичный objectGUID не переводится в строку GUID.

Сервисная учётная запись

Нужна учётная запись с правом чтения веток сотрудников и групп, включая операционные атрибуты, если идентификатор операционный (entryUUID, nsUniqueId). Пример для OpenLDAP - в разделе OpenLDAP.

Флаги

ФлагОбязателенЗначение
--profile customдавключает свою схему
--user-filterдафильтр сотрудников, например (objectClass=inetOrgPerson)
--group-filterдафильтр групп, например (objectClass=groupOfNames)
--attr ключ=атрибутнетсвои имена атрибутов, флаг повторяется

Ключи --attr и значения по умолчанию:

КлючПо умолчаниюЧто это
identryUUIDнеизменяемый идентификатор, текстовый
loginuidлогин
mailmailпочта
firstgivenNameимя
lastsnфамилия
titletitleдолжность
deptdepartmentNumberотдел
phonetelephoneNumberтелефон
managermanagerруководитель (DN)
membermemberатрибут группы со списком DN участников
groupNamecnназвание группы
disabledне заданатрибут-признак: если у сотрудника он заполнен любым значением, учётная запись считается отключённой

Кроме атрибута member у групп коннектор читает memberOf у сотрудников. Значения членства должны быть DN; списки логинов (memberUid) не поддерживаются.

Пример

sudo -i
read -rs SVC_PW && export SVC_PW
trialix-connector setup --profile custom --url ldaps://ldap.company.local:636 --base-dn dc=company,dc=local \
  --user-base-dn ou=staff,dc=company,dc=local --group-base-dn ou=roles,dc=company,dc=local \
  --bind-dn cn=svc-trialix,ou=services,dc=company,dc=local --password-env SVC_PW \
  --user-filter "(&(objectClass=inetOrgPerson)(employeeType=staff))" \
  --group-filter "(objectClass=groupOfUniqueNames)" \
  --attr id=entryUUID --attr member=uniqueMember --attr dept=ou --attr disabled=employeeEndDate

Для 389 Directory Server идентификатор обычно nsUniqueId (--attr id=nsUniqueId). Атрибут nsAccountLock там может стоять со значением false у активных учётных записей, а профиль custom считает отключённым любое заполненное значение. В этом случае не используйте nsAccountLock как признак, а исключайте уволенных из групп или выбирайте атрибут, который появляется только у отключённых.

Выбор идентификатора

Идентификатор должен быть уникальным и не меняться при переименовании и переносе записи между ветками. Подходят entryUUID, nsUniqueId, ipaUniqueID, табельный номер в собственном атрибуте. Не подходят uid, cn, mail и DN: при их смене Trialix сначала попробует сопоставить сотрудника по DN, логину и почте, но надёжнее опираться на неизменяемый атрибут. Если у записи атрибута нет, коннектор подставит dn:<DN>.

Проверка

sudo trialix-connector doctor
sudo trialix-connector preview --json | head -60

Проверьте в выводе: id заполнен, email есть у сотрудников, groups содержит идентификаторы групп, disabled стоит только у уволенных.

Обновлено 29.09.2026