Red Hat Training

A Red Hat training course is available for RHEL 8

第 1 章 从命令行登录身份管理

身份管理(IdM)使用 Kerberos 协议来支持单点登录。单点登录意味着用户仅输入一次正确的用户名和密码,然后访问 IdM 服务,而无需系统再次提示输入凭证。

重要

在 IdM 中,系统安全服务守护进程(SSSD)在用户成功登录到带有相应 Kerberos 主体名的 IdM 客户端机器上的桌面环境后,会自动获取用户授予票据(TGT)。这意味着登录后,用户不需要使用 kinit 工具来访问 IdM 资源。

如果您已清除 Kerberos 凭证缓存或者 Kerberos TGT 已过期,您需要手动请求 Kerberos ticket 以访问 IdM 资源。以下小节介绍了在 IdM 中使用 Kerberos 时的基本用户操作。

1.1. 使用 kinit 手动登录到 IdM

这个步骤描述了使用 kinit 工具手动向 Identity Management(IdM)环境进行身份验证。kinit 程序代表 IdM 用户获取并缓存 Kerberos 票据授予票据(TGT)。

注意

只有在初始 Kerberos TGT 销毁或者已过期时才使用这个步骤。作为 IdM 用户,当登录到本地机器时,您也会自动登录到 IdM。这意味着登录后,您不需要使用 kinit 工具来访问 IdM 资源。

流程

  1. 要登录到 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 ~]$
  2. 要验证登录是否成功,可使用 klist 实用程序显示缓存的 TGT。在以下示例中,缓存包含 example_user 主体的 ticket,这意味着在这个特定的主机上,当前只允许 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