第 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 资源。
流程
要登录到 IdM
在当前登录到本地系统的用户的用户名下,使用 kinit,而不指定用户名。例如,如果您在本地系统中以
example_user
身份登录:[example_user@server ~]$ kinit Password for example_user@EXAMPLE.COM: [example_user@server ~]$
如果本地用户的用户名与 IdM 中的任何用户条目都不匹配,则身份验证尝试失败:
[example_user@server ~]$ kinit kinit: Client 'example_user@EXAMPLE.COM' not found in Kerberos database while getting initial credentials
使用不对应于本地用户名的 Kerberos 主体,将所需的用户名传给
kinit
工具。例如,要以admin
用户身份登录:[example_user@server ~]$ kinit admin Password for admin@EXAMPLE.COM: [example_user@server ~]$
验证
要验证登录是否成功,请使用 klist 工具显示缓存的 TGT。在以下示例中,缓存包含了
example_user
主体的票,这意味着在这个特定的主机上,当前只允许example_user
访问 IdM 服务:$ klist Ticket cache: KEYRING:persistent:0:0 Default principal: example_user@EXAMPLE.COM Valid starting Expires Service principal 11/10/2019 08:35:45 11/10/2019 18:35:45 krbtgt/EXAMPLE.COM@EXAMPLE.COM