Red Hat Training

A Red Hat training course is available for RHEL 8

30.5. 使用 ID 视图覆盖特定主机上 IdM 用户的登录名称

本节论述了如何为特定 Identity Management(IdM)客户端创建 ID 视图,该客户端覆盖与特定 IdM 用户关联的 POSIX 属性值。该流程使用 ID 视图示例,它可让名为 idm_user 的 IdM 用户使用 user_1234 登录名称登录名为 host1 的 IdM 客户端。

先决条件

  • 您以具有所需特权的用户身份登录,如 admin

流程

  1. 创建新的 ID 视图。例如,创建名为 example_for_host1 的 ID 视图:

    $ ipa idview-add example_for_host1
    ---------------------------
    Added ID View "example_for_host1"
    ---------------------------
      ID View Name: example_for_host1
  2. 将用户覆盖添加到 example_for_host1 ID 视图。覆盖用户登录:

    • 输入 ipa idoverrideuser-add 命令
    • 添加 ID 视图的名称
    • 添加用户名,也称为定位符
    • 添加 --login 选项:

      $ ipa idoverrideuser-add example_for_host1 idm_user --login=user_1234
      -----------------------------
      Added User ID override "idm_user"
      -----------------------------
        Anchor to override: idm_user
        User login: user_1234

      要获得可用选项列表,请运行 ipa idoverrideuser-add --help。

      注意

      ipa idoverrideuser-add --certificate 命令替换指定 ID 视图中帐户的所有现有证书。要附加额外证书,请使用 ipa idoverrideuser-add-cert 命令替代:

      $ ipa idoverrideuser-add-cert example_for_host1 user --certificate="MIIEATCC..."
  3. 可选:使用 ipa idoverrideuser-mod 命令,您可以为现有用户覆盖指定新的属性值。
  4. example_for_host1 应用到 host1.idm.example.com 主机:

    $ ipa idview-apply example_for_host1 --hosts=host1.idm.example.com
    -----------------------------
    Applied ID View "example_for_host1"
    -----------------------------
    hosts: host1.idm.example.com
    ---------------------------------------------
    Number of hosts the ID View was applied to: 1
    ---------------------------------------------
    注意

    ipa idview-apply 命令也接受 --hostgroups 选项。选项将 ID 视图应用到属于指定主机组但不会将 ID 视图与主机组本身相关联的主机。相反,hostgroups 选项会展开指定主机组的成员,并单独应用 --hosts 选项到其中每一个。

    这意味着,如果以后将主机添加到主机组中,该 ID 视图不会应用到新主机。

  5. 将新配置立即应用到 host1.idm.example.com 系统:

    1. 以 root 身份通过 SSH 连接到该系统:

      $ ssh root@host1
      Password:
    2. 清除 SSSD 缓存:

      root@host1 ~]# sss_cache -E
    3. 重启 SSSD 守护进程:
    root@host1 ~]# systemctl restart sssd

验证步骤

  • 如果您有 user_1234 的凭证,您可以使用它们登录到 host1 上的 IdM:

    1. 使用 user_1234 作为登录名称通过 SSH 连接到 host1

      [root@r8server ~]# ssh user_1234@host1.idm.example.com
      Password:
      
      Last login: Sun Jun 21 22:34:25 2020 from 192.168.122.229
      [user_1234@host1 ~]$
    2. 显示工作目录:

      [user_1234@host1 ~]$ pwd
      /home/idm_user/
  • 或者,如果您在 host1 上有 root 凭证,您可以使用它们来检查 id 命令的 id 命令输出,即 id_useruser_1234:

    [root@host1 ~]# id idm_user
    uid=779800003(user_1234) gid=779800003(idm_user) groups=779800003(idm_user)
    [root@host1 ~]# user_1234
    uid=779800003(user_1234) gid=779800003(idm_user) groups=779800003(idm_user)