Ubuntu 20.04(sssd)上的 idmap 范围与 CentOS 7 winbind idmaps 不匹配(有点)

Ubuntu 20.04(sssd)上的 idmap 范围与 CentOS 7 winbind idmaps 不匹配(有点)

与我的 CentOS ID 相比,Ubuntu 系统中的 Active Directory 映射非常长,最后 4 位数字匹配,但 Ubunutu 似乎在开头添加了很多内容。

在 CentOS winbind/samba 中我使用一个范围来获取我需要的 ID:

    idmap config * : range = 10000-20000
    idmap config * : backend = tdb
    idmap config MYDOMAIN : default = yes
    idmap config MYDOMAIN : range = 10000-24999999
    idmap config MYDOMAIN : backend = rid

这将产生像 1 这样的 ID1695在 Centos 上

Ubuntu 20.04 产生 guid/uid 1558801695,它将 155880 添加到 11695 中并删除前导 1。

我该如何格式化 Ubuntu 的 sssd 配置以满足我的需求。我的所有文件和文件夹都标有 Centos ID,而 CentOS 无法识别这些较长的 ID?

我希望我已经解释清楚了。

谢谢 :)

答案1

你将需要阅读SSSD 的 ID 映射。要复制rid生成的 ID,您需要设置默认域在 SSSD 中并配置 id 范围以匹配。

我相信这些 SSSD 设置将与您的 samba 配置相匹配

ldap_id_mapping = true
ldap_schema = ad
ldap_idmap_default_domain_sid = S-1-5-21-REDACTED
ldap_idmap_range_min = 10000
ldap_idmap_range_max = 24999999

您需要获取 Active Directory SID 的值ldap_idmap_default_domain_sid。您可能能够使用命令从 CentOS 框中获取此值net getdomainsid。我有不是使相关ldap_idmap_default_domain设置生效。

如果您在 Ubuntu 服务器上设置 Samba,那么您可以使用idmap_sssWinbind 的后端统一 ID。

在 SSSD 中更改 id 映射设置时,最好完全清除本地缓存以查看更改的效果。

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

相关内容