ActiveDirectory/Persistant UID

Материал из ALT Linux Wiki

Как сделать единый UID для доменного пользователя. Использовалась статья https://wiki.samba.org/index.php/Idmap_config_ad

На рабочей станции

В секцию [global] файла /etc/samba/smb.conf добавьте правило для домена (для примера указан домен TEST.ALT)

        idmap config * : range = 6000-8000
        idmap config * : backend = tdb
        idmap config TEST.ALT:backend = ad
        idmap config TEST.ALT:range = 10000-2000000
        idmap config TEST.ALT:schema_mode = rfc2307
        idmap config TEST.ALT:unix_nss_info = no
        idmap config TEST.ALT:unix_primary_group = no

Обратите внимание на диапазон: с 10000 до 2000000. Именно в этом диапазоне нужно присваивать UID и GID. Диапазон 6000-8000 предназначен для пользователей остальных явно не указанных доменов. Строки с * обязательны.

Перезапустите службу winbind:

systemctl restart winbind

На контроллере домена samba-dc

Внимание! Указанные числа нужно выбирать только из заданного диапазона idmap. В противном случае пользователь или группа не будут видны на рабочей станции.


1. Выставьте для основной группы пользователей Domain Users (её RID указывается в аттрибуте primaryGroupID каждого пользователя)

gidNumber: 50000 

(любой в вышеуказанном диапазоне):

samba-tool group edit 'Domain Users'

2. Выставьте

uidNumber: 20001

в указанном диапазоне для пользователя:

samba-tool user edit ex_test1

На контроллере домена Windows

В RSAT включите View - Advanced Features и откройте свойства группы Domain Users, затем перейдите на вкладку Attribute Edutor и найдите атрибут gidNumber:

Win-uid-2.png

Для пользователя откройте его свойства, затем перейдите на вкладку Attribute Edutor и найдите атрибут uidNumber:

Win-uid-1.png

Проверка

На рабочей станции:

# getent group 'Domain Users'
domain users:*:50000:
# getent passwd ex_test1
ex_test1:*:20001:50000::/home/TEST.ALT/ex_test1:/bin/bash