Ubuntu 20.04 LDAP客户端登录后用户名显示混淆如何解决?
故障排查与修复步骤
该问题由LDAP客户端用户ID-用户名映射缓存未及时刷新导致,可按以下步骤排查修复:
1. 临时清理缓存验证故障
首先确认你使用的用户缓存服务,执行对应清理操作:
- 查看运行的缓存服务:
systemctl status nscd sssd - 若运行nscd:执行
nscd -i passwd清理用户缓存,立刻执行whoami查看用户名显示是否恢复正常 - 若运行sssd:依次执行
systemctl stop sssd、rm -rf /var/lib/sss/db/*、systemctl start sssd清理全部SSSD缓存后验证
2. 调整缓存策略避免复现
清理缓存后如果故障再次出现,修改缓存配置缩短缓存有效期:
- nscd配置:编辑
/etc/nscd.conf,修改passwd段配置:
改完执行positive-time-to-live passwd 300 check-files passwd yessystemctl restart nscd生效 - sssd配置:编辑
/etc/sssd/sssd.conf,在对应LDAP域配置段新增:
改完执行cache_credentials = False entry_cache_timeout = 300systemctl restart sssd生效
3. 检查名称服务查询顺序
查看/etc/nsswitch.conf的passwd行配置,确保本地用户查询优先级高于LDAP:
passwd: files systemd sss
或者
passwd: files systemd ldap
如果ldap/sss排在files前面,调整顺序后保存即可。
4. 排查UID冲突
执行以下命令确认本地用户和LDAP用户UID唯一:
- 查看本地用户UID:
id client - 查看LDAP用户UID:
id evhalen
若二者UID相同,修改任意一方的UID保证全局唯一即可解决映射错乱。
验证修复效果
配置完成后依次切换登录LDAP用户、本地用户,测试whoami返回结果、锁屏界面用户名显示,确认故障不再复现。
内容的提问来源于stack exchange,提问作者BrianGNU
相关产品推荐
相关产品推荐

