12.8. 从 SSSD 服务收集调试日志,对 IdM 服务器的身份验证问题进行故障排除
如果您在尝试以 IdM 用户身份对 IdM 服务器进行身份验证时遇到问题,请在服务器上的 SSSD 服务中启用详细的调试日志,并收集尝试检索用户信息的日志。
先决条件
-
您有
root
权限。
流程
在 IdM 服务器上启用详细的 SSSD 调试日志。
sssctl debug-level 6
[root@server ~]# sssctl debug-level 6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于遇到身份验证问题的用户,在 SSSD 缓存中使相关的对象无效,这样使您不会绕过 LDAP 服务器来从缓存的 SSSD 中获取信息。
sssctl cache-expire -u <idm_user>
[root@server ~]# sssctl cache-expire -u <idm_user>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过删除旧的 SSSD 日志来最大程度减少数据集的故障排除。
sssctl logs-remove
[root@server ~]# sssctl logs-remove
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 尝试切换至遇到身份验证问题的用户,同时在尝试前后收集时间戳。这些时间戳进一步缩小了数据集的范围。
date; su <idm_user>; date
[root@server sssd]# date; su <idm_user>; date Mon Mar 29 15:33:48 EDT 2021 su: user idm_user does not exist Mon Mar 29 15:33:49 EDT 2021
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您不想继续收集详细的 SSSD 日志,请降低 debug 级别。
sssctl debug-level 2
[root@server ~]# sssctl debug-level 2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看 SSSD 日志,了解失败请求的信息。例如,检查
/var/log/sssd/sssd_example.com.log
文件表明 SSSD 服务没有在cn=accounts,dc=example,dc=com
LDAP 子树中找到用户。这可能表示用户不存在,或者存在于其他位置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您无法确定导致身份验证问题的原因:
收集您最近生成的 SSSD 日志。
sssctl logs-fetch sssd-logs-Mar29.tar
[root@server ~]# sssctl logs-fetch sssd-logs-Mar29.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个红帽技术支持问题单并提供:
-
SSSD 日志:
sssd-logs-Mar29.tar
与日志对应的请求的控制台输出,包括时间戳和用户名:
date; id <idm_user>; date
[root@server sssd]# date; id <idm_user>; date Mon Mar 29 15:33:48 EDT 2021 id: 'idm_user': no such user Mon Mar 29 15:33:49 EDT 2021
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
SSSD 日志: