第 1 章 从命令行登录到身份管理
身份管理(IdM)使用 Kerberos 协议来支持单点登录。单点登录意味着用户仅输入一次正确的用户名和密码,就可以访问 IdM 服务,而无需系统再次提示输入凭证。
在 IdM 中,系统安全服务守护进程(SSSD)在用户成功登录到带有相应 Kerberos 主体名的 IdM 客户端机器上的桌面环境后,会自动为用户获取票据授予票(TGT)。这意味着登录后,用户不需要使用 kinit 工具来访问 IdM 资源。
如果您已清除 Kerberos 凭证缓存或者 Kerberos TGT 已过期,您需要手动请求 Kerberos ticket 以访问 IdM 资源。以下章节介绍了在 IdM 中使用 Kerberos 的基本用户操作。
1.1. 使用 kinit 手动登录到 IdM 复制链接链接已复制到粘贴板!
按照以下流程,使用 kinit 工具手动向身份管理(IdM)环境进行身份验证。kinit 工具代表 IdM 用户获取并缓存 Kerberos 票据授予票(TGT)。
只有在初始 Kerberos TGT 被销毁了或者过期了,才使用这个流程。作为 IdM 用户,当登录到本地机器时,您也会自动登录到 IdM。这意味着登录后,您不需要使用 kinit 工具来访问 IdM 资源。
流程
要在当前登录到本地系统的用户的用户名下登录,请使用 kinit 而不指定用户名。例如,如果您以 身份登录
<example_user>
到本地系统:kinit
[example_user@server ~]$ kinit Password for example_user@EXAMPLE.COM: [example_user@server ~]$
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果本地用户的用户名与 IdM 中的任何用户条目都不匹配,则身份验证尝试失败:
kinit
[example_user@server ~]$ kinit kinit: Client 'example_user@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用与本地用户名不对应的 Kerberos 主体,请将所需的用户名传递给
kinit
工具。例如,要以admin
用户身份登录:kinit admin
[example_user@server ~]$ kinit admin Password for admin@EXAMPLE.COM: [example_user@server ~]$
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 kinit -kt KDB 请求用户票据:user@EXAMPLE.COM
被禁用。如需更多信息,请参阅 为什么 kinit -kt KDB: user@EXAMPLE.COM 在 CVE-2024-3183 后不再正常工作 解决方案。
验证
要验证登录是否成功,请使用 klist 工具显示缓存的 TGT。在以下示例中,缓存包含了
example_user
主体的票,这意味着在这个特定的主机上,当前只允许example_user
访问 IdM 服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow