我有一个带有 IDMU 并UID/GID
为我的域用户指定的 AD 环境。UID/GID
SSSD 连接的域用户在 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
有 aUID
和10001
a我希望这些数字会在其他平台上持续存在,对吗GID
?10001
但 SSSD 似乎分配任意UID/GID
与 AD 编号没有对应关系。这是一个真实的例子:
% su [email protected]
Password:
[email protected]@myhostname:~/$ id
uid=397401108([email protected])
gid=397400512(domain [email protected])
groups=397400512(domain [email protected]),
397400513(domain [email protected]),
397400518(schema [email protected]),
397400519(enterprise [email protected]),
397400572(denied rodc password replication [email protected]),
397401109([email protected]),
397401112(vcsa [email protected]),
397404603([email protected]),
397407607([email protected])
有什么办法可以防止这种行为?我希望我UID/GID
与域控制器上分配的值相对应。
更新:
感谢出色的第一个答案,制作映射 1-1 所需的只是停止 SSSD 服务,删除缓存,ldap_id_mapping
从更改True
为False
.
现在UID/GID
与 AD 相同:
% id
uid=10000(auser) gid=10001(administrators) groups=10001(administrators),3109([email protected]),10000(domain [email protected])
现在要弄清楚为什么我错过了我的用户所属的一些组......
默认的 SSD 行为会将用户 ID 和组 ID 映射到一系列值。如果在 AD 中定义,您可以改为指定要使用的 LDAP 属性。
从手册页 - http://manpages.ubuntu.com/manpages/bionic/en/man5/sssd-ad.5.html
SSSD 配置将取决于 AD 中使用的属性。UID 和 GID 的默认值是
uidNumber
和gidNumber
,但一些默认值会根据您运行的 SSSD 版本而变化。检查您正在使用的版本的手册页。如果更改 id 映射设置,则需要在测试更改之前完全清除缓存。我喜欢运行这些命令