Настройка пересчета значения атрибута trustPosixOffset

Эллес обеспечивает пересчет значения атрибута trustPosixOffset.

Общие сведения

Атрибут trustPosixOffset используется в Active Directory для обеспечения уникальности идентификаторов пользователей (User ID, UID) и групп (Group ID, GID) в сценариях интеграции с системами, поддерживающими набор стандартов Portable Operating System Interface (POSIX). Его значение задает числовое смещение, которое применяется к RID пользователя или группы для получения уникального идентификатора в доверенном домене.

Значение атрибута trustPosixOffset рассчитывается на контроллере домена с FSMO-ролью PDC Emulator в момент создания нового объекта доверия (Trusted Domain Object, TDO) при настройке доверительных отношений между доменами по следующему алгоритму:

  1. Определяются значения атрибутов trustPosixOffset всех существующих объектов TDO для исходящих доверительных отношений.

  2. Найденные значения сортируются в порядке возрастания.

  3. Из списка исключаются диапазоны значений, зарезервированные для специальных целей: 0x0800, 0x4000, 0xC000.

  4. Выбирается первое доступное значение, начиная с 1, которое не используется в существующих объектах TDO и не зарезервировано.

Полученное значение назначается создаваемому объекту TDO.

Если настройка доверительного отношения выполняется на контроллере домена без FSMO-роли PDC Emulator, значение trustPosixOffset временно устанавливается в 0 и пересчитывается по описанному выше алгоритму при репликации на контроллер домена с FSMO-ролью PDC Emulator.

В состав Эллес входит сервис mt, который обеспечивает периодический запуск автоматического пересчета значения атрибута trustPosixOffset.

Настройка периодичности запуска пересчета значения атрибута trustPosixOffset

По умолчанию сервис mt запускается через 15 секунд после начала работы Эллес и далее — каждые 120 секунд.

При необходимости изменения первоначальной задержки и интервала запуска сервиса укажите требуемые значения в секундах с помощью параметров mtsrv:startup_delay и mtsrv:run_interval в разделе [global] файла /app/inno-samba/etc/smb.conf.

Например:

[global]
    ...
    mtsrv:startup_delay = 20
    mtsrv:run_interval = 100
    ...

Принудительный запуск пересчета значения атрибута trustPosixOffset

Чтобы запустить сервис mt принудительно, достаточно создать специальный атрибут runMTService в корне дерева данных каталога (объект rootDSE).

Для этого выполните следующие действия от имени учетной записи с правами на внесение изменений в БД LDAP домена:

  1. Сформируйте ldif-файл для создания атрибута runMTService со значением, соответствующим задаче (1), в корне дерева.
    Например:

    cat /tmp/run_mt_service.ldif
    dn:
    changetype: modify
    add: runMTService
    runMTService: 1
  2. Внесите изменения, например, с помощью утилиты ldbmodify (полный путь к утилите после установки пакета inno-samba — /app/inno-samba/bin/ldbmodify):

    ldbmodify -H ldap://dc1 -U Administrator /tmp/run_mt_service.ldif
    Password for [ELLES\Administrator]:
    Modified 1 records successfully

После принудительного запуска расписание периодического запуска сервиса mt корректируется соответствующим образом: следующий запуск произойдет через заданный в конфигурации интервал относительно момента принудительного запуска.