FreeIPA
Подключение FreeIPA к Trialix через Trialix Connector, профиль freeipa. Проверено вживую на сервере FreeIPA (образ freeipa-server на AlmaLinux 9): LDAPS, ipaUniqueID, nsAccountLock и вложенные группы читаются верно, предпросмотр и синхронизация проходят. На FreeIPA построен ALD Pro.
Сервисная учётная запись
Для чтения каталога во FreeIPA принято заводить системную учётную запись в cn=sysaccounts,cn=etc. Она не является пользователем домена и не может войти на машины. Создаётся от имени Directory Manager:
ldapmodify -x -H ldaps://ipa.company.local -D "cn=Directory Manager" -W <<'LDIF'
dn: uid=svc-trialix,cn=sysaccounts,cn=etc,dc=company,dc=local
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: svc-trialix
userPassword: ЗАМЕНИТЕ_НА_ПАРОЛЬ
passwordExpirationTime: 20380119031407Z
nsIdleTimeout: 0
LDIF
Прав на чтение пользователей и групп у аутентифицированной учётной записи во FreeIPA по умолчанию достаточно. Если в вашей установке права чтения урезаны, doctor покажет [!!] в строках «Чтение сотрудников» или «Чтение групп».
Параметры подключения
| Параметр | Значение |
|---|---|
| Профиль | freeipa |
| Адрес | ldaps://ipa.company.local:636 |
| Базовый DN | dc=company,dc=local |
| Ветка сотрудников | cn=users,cn=accounts,dc=company,dc=local |
| Ветка групп | cn=groups,cn=accounts,dc=company,dc=local |
| Сервисная учётная запись | uid=svc-trialix,cn=sysaccounts,cn=etc,dc=company,dc=local |
| Сертификат | /etc/ipa/ca.crt с сервера FreeIPA |
Обязательно задайте ветки сотрудников и групп. Иначе поиск по всему дереву захватит ветку совместимости cn=compat, где те же пользователи повторяются без ipaUniqueID.
sudo scp root@ipa.company.local:/etc/ipa/ca.crt /etc/trialix-connector/ipa-ca.crt
sudo -i
read -rs SVC_PW && export SVC_PW
trialix-connector setup --profile freeipa --url ldaps://ipa.company.local:636 --base-dn dc=company,dc=local \
--user-base-dn cn=users,cn=accounts,dc=company,dc=local --group-base-dn cn=groups,cn=accounts,dc=company,dc=local \
--bind-dn uid=svc-trialix,cn=sysaccounts,cn=etc,dc=company,dc=local --password-env SVC_PW --ca-file /etc/trialix-connector/ipa-ca.crt
Что читает коннектор
| Что | Атрибут |
|---|---|
| Сотрудники | (objectClass=posixAccount) |
| Группы | (objectClass=groupOfNames) или (objectClass=ipaUserGroup) |
| Неизменяемый идентификатор | ipaUniqueID |
| Вторичные признаки | DN, uid, mail |
| Почта | mail |
| Имя, фамилия, должность, отдел, телефон, руководитель | givenName, sn, title, ou, telephoneNumber, manager |
| Членство | member у групп и memberOf у пользователей, вложенность до 5 уровней |
| Отключённая учётная запись | nsAccountLock: TRUE |
Отключение сотрудника: ipa user-disable ivanov. Включение: ipa user-enable ivanov.
LDAPS и StartTLS
FreeIPA слушает LDAPS на 636 и StartTLS на 389 с сертификатом собственного УЦ. Укажите /etc/ipa/ca.crt в --ca-file. Если машина коннектора сама введена в домен FreeIPA, этот сертификат уже есть в системном хранилище и --ca-file не нужен.
Kerberos
Системная учётная запись из cn=sysaccounts не имеет Kerberos-принципала. Для входа по keytab заведите отдельного пользователя и выпустите для него keytab (команда сбрасывает его ключи):
kinit admin
ipa user-add svc-trialix --first=Trialix --last=Connector
ipa-getkeytab -s ipa.company.local -p svc-trialix@COMPANY.LOCAL -k /root/svc.keytab
Перенесите keytab на машину коннектора в /etc/trialix-connector/svc.keytab (0600) и настройте:
sudo trialix-connector setup --profile freeipa --url ldaps://ipa.company.local:636 --base-dn dc=company,dc=local \
--user-base-dn cn=users,cn=accounts,dc=company,dc=local --group-base-dn cn=groups,cn=accounts,dc=company,dc=local \
--kerberos --keytab /etc/trialix-connector/svc.keytab --principal svc-trialix@COMPANY.LOCAL
Учётная запись svc-trialix сама попадёт в снимок каталога как сотрудник. Не включайте её в группы, привязанные к отделам Trialix.
Проверка
sudo trialix-connector doctor
sudo trialix-connector preview
Группа ipausers содержит всех пользователей. Её удобно привязать к общему отделу, если отделы в Trialix ещё не разделены.
Обновлено 29.09.2026