36.5. 使用 ID 视图来覆盖特定主机上 IdM 用户的登录名称
按照以下流程,为特定的 IdM 客户端创建 ID 视图,该视图覆盖与特定 IdM 用户关联的 POSIX 属性值。该流程使用 ID 视图示例,它可让名为 idm_user 的 IdM 用户使用 user_1234 登录名称登录到名为 host1 的 IdM 客户端。
先决条件
- 以 IdM 管理员身份登录。
步骤
创建新的 ID 视图。例如,创建名为
example_for_host1
的 ID 视图:$ ipa idview-add example_for_host1 --------------------------- Added ID View "example_for_host1" --------------------------- ID View Name: example_for_host1
将用户覆盖添加到 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..."
-
输入
-
可选:使用
ipa idoverrideuser-mod
命令,您可以为现有用户覆盖指定新的属性值。 将
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 视图不会应用到新主机。
要将新配置立即应用到 host1.idm.example.com 系统:
以 root 身份通过 SSH 连接到系统:
$ ssh root@host1 Password:
清除 SSSD 缓存:
root@host1 ~]# sss_cache -E
- 重启 SSSD 守护进程:
root@host1 ~]# systemctl restart sssd
验证步骤
如果您有 user_1234 的凭证,您可以使用它们登录到 host1 上的 IdM:
使用 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 ~]$
显示工作目录:
[user_1234@host1 ~]$ pwd /home/idm_user/
或者,如果您在 host1 上有 root 凭证,您可以使用它们来检查 idm_user 和 user_1234 的
id
命令的输出:[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)