SSSD с AD: использовать UID / GID, указанный на сервере домена, вместо чего-то случайного?

У меня есть среда AD с IDMU, и я указал UID / GID для пользователей моего домена. SSSD-Пользователь подключенного домена не использует тот же UID / GID в Ubuntu, что и AD.

Вот неотредактированный по умолчанию sssd.conf в Ubuntu 20.10:

% sssd --version
2.3.1

# cat /etc/sssd/sssd.conf 

[sssd]
domains = webtool.space
config_file_version = 2

[domain/webtool.space]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = MYDOMAIN.SPACE
realmd_tags = manages-system joined-with-adcli 
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = mydomain.space
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = ad

Если имя пользователя У Auser есть UID из 10001 и GID из 10001 Я ожидал, что эти числа сохранятся на других платформах, правильно?

Но похоже, что SSSD выделяет произвольный UID / GID без соответствия номерам AD. Вот реальный пример:

% su auser@mydomain.space                                        
Password: 
auser@mydomain.space@myhostname:~/$ id

uid=397401108(auser@mydomain.space)
gid=397400512(domain admins@mydomain.space)
groups=397400512(domain admins@mydomain.space),
397400513(domain users@mydomain.space),
397400518(schema admins@mydomain.space),
397400519(enterprise admins@mydomain.space),
397400572(denied rodc password replication group@mydomain.space),
397401109(sudoers@mydomain.space),
397401112(vcsa administrators@mydomain.space),
397404603(libvirt@mydomain.space),
397407607(jumpcloud@mydomain.space)

Есть ли способ предотвратить такое поведение? Я хотел бы, чтобы мой UID / GID соответствовал значениям, назначенным на контроллерах домена.

Обновление:

Благодаря первоклассному первому ответу все, что требовалось для сопоставления 1-1, было остановлено Служба SSSD, удалите кеш, измените ldap_id_mapping с True на False .

Теперь UID / GID такие же, как AD:

% id
uid=10000(auser) gid=10001(administrators) groups=10001(administrators),3109(sudoers@mydomain.space),10000(domain users@mydomain.space)

Теперь выясним, почему мне не хватает некоторых групп, к которым принадлежит мой пользователь ...

1
задан 16 December 2020 в 14:04

1 ответ

Поведение SSD по умолчанию сопоставляет идентификатор пользователя и идентификатор группы с диапазоном значений. Вместо этого вы можете указать атрибуты LDAP для использования, если они определены в AD.

Из справочной страницы — http://manpages.ubuntu.com/manpages/bionic/en/man5/sssd-ad.5.html

       By default, the AD provider will map UID and GID values from the objectSID parameter in
       Active Directory. For details on this, see the “ID MAPPING” section below. If you want to
       disable ID mapping and instead rely on POSIX attributes defined in Active Directory, you
       should set

           ldap_id_mapping = False

Конфигурация SSDD будет зависеть от того, какие атрибуты используются в AD. Значения по умолчанию для UID и GID — uidNumber и gidNumber, но некоторые значения по умолчанию меняются в зависимости от используемой версии SSSD. Проверьте справочную страницу выпуска, который вы используете.

Если вы измените настройки сопоставления идентификаторов, вам необходимо полностью очистить кеш, прежде чем тестировать изменение. Мне нравится запускать эти команды

systemctl stop sssd
rm /var/lib/sss/{db,mc}/*
sss_cache -E
# optionally clear debug logs
truncate -s 0 /var/log/sssd/*.log
systemctl start sssd
2
ответ дан 15 December 2020 в 20:48

Другие вопросы по тегам:

Похожие вопросы: