![Ubuntu 20.04(sssd)上的 idmap 范围与 CentOS 7 winbind idmaps 不匹配(有点)](https://linux22.com/image/771727/Ubuntu%2020.04%EF%BC%88sssd%EF%BC%89%E4%B8%8A%E7%9A%84%20idmap%20%E8%8C%83%E5%9B%B4%E4%B8%8E%20CentOS%207%20winbind%20idmaps%20%E4%B8%8D%E5%8C%B9%E9%85%8D%EF%BC%88%E6%9C%89%E7%82%B9%EF%BC%89.png)
与我的 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_sss
Winbind 的后端统一 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