如何解决SSSD的多域用户ID冲突问题?

目录或认证服务

1 前言

一个问题,一篇文章,一出故事。
笔者在生产环境中遇到SSSD因为同时使用两个不同的域导致UID冲突问题,详细表现如下,

tail -f /var/log/sssd/sssd_pac.log

可见如下日志,

(2024-07-25 18:09:08): [pac] [check_upn_and_sid_from_user_and_pac] (0x0020): [CID#2] UPN of user entry [will@cmdschool.org] and PAC [jeff@cmdschool.com] do not match.

然后查询两个用户,

id will@cmdschool.org
id will@cmdschool.com

发现显示的信息都一模一样,

uid=1554803174(jeff@cmdschool.com) gid=1554800513(domain users@cmdschool.com) groups=1554800513(domain users@cmdschool.com)

2 最佳实践

2.1 修改配置

vi /etc/sssd/sssd.conf

加入如下配置,

[sssd]
domains = cmdschool.org,cmdschool.com
#...

[domain/cmdschool.org]
#...
ldap_id_mapping = true
ldap_idmap_range_min = 1000000000
ldap_idmap_range_max = 1199999999

[domain/cmdschool.com]
#...
ldap_id_mapping = true
ldap_idmap_range_min = 1200000000
ldap_idmap_range_max = 1299999999

需要注意的是,映射的UID范围值不大于“2147483647”,否则会报错。

2.2 清空缓存数据并重启

systemctl stop sssd.service; rm -rf /var/lib/sss/{db,mc}/*; systemctl start sssd.service

参阅文档
==============
https://sssd.io/index.html

https://github.com/SSSD/sssd/issues/7269

没有评论

发表回复

目录或认证服务
如何解决SSSD的用户条目的UPN与PAC不匹配问题?

1 前言 一个问题,一篇文章,一出故事。 今天遇到域用户输入正确的用户名和密码不能登录问题,详细错误 …

目录或认证服务
如何部署Oracle Linux 9.x simpleSAMLphp 2.1.3?

1 基础知识 1.1 断言的基本概念 1.1.1 断言的介绍 – 断言即assertio …

目录或认证服务
如何部署Oracle Linux 9.x simpleSAMLphp 2.1.6?

1 基础知识 1.1 断言的基本概念 1.1.1 断言的介绍 – 断言即assertio …