У меня есть среда 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)
Теперь выясним, почему мне не хватает некоторых групп, к которым принадлежит мой пользователь ...
Поведение 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