36.5. 使用 ID 视图来覆盖特定主机上 IdM 用户的登录名称
为特定 IdM 客户端创建 ID 视图,以覆盖与特定 IdM 用户关联的 POSIX 属性值。此流程使用 ID 视图示例,它允许名为 idm_user 的 IdM 用户使用 user_1234 登录名称登录到名为 client1 的 IdM 客户端。
先决条件
- 以 IdM 管理员身份登录。
流程
在 IdM 服务器上,创建一个新的 ID 视图。例如,要创建一个名为
example_for_client1
的 ID 视图:ipa idview-add example_for_client1
$ ipa idview-add example_for_client1 --------------------------- Added ID View "example_for_client1" --------------------------- ID View Name: example_for_client1
Copy to Clipboard Copied! 将用户添加到 example_for_client1 ID 视图中。覆盖用户登录:
-
输入
ipa idoverrideuser-add
命令 - 添加 ID 视图的名称
- 添加用户名,也称为锚
添加
--login
选项:ipa idoverrideuser-add example_for_client1 idm_user --login=user_1234
$ ipa idoverrideuser-add example_for_client1 idm_user --login=user_1234 ----------------------------- Added User ID override "idm_user" ----------------------------- Anchor to override: idm_user User login: user_1234
Copy to Clipboard Copied! 如需可用选项的列表,请运行
ipa idoverrideuser-add --help
。注意ipa idoverrideuser-add --certificate
命令替换指定 ID 视图中帐户的所有现有证书。要附加额外的证书,请使用ipa idoverrideuser-add-cert
命令:ipa idoverrideuser-add-cert example_for_client1 user --certificate="MIIEATCC..."
$ ipa idoverrideuser-add-cert example_for_client1 user --certificate="MIIEATCC..."
Copy to Clipboard Copied!
-
输入
-
可选:使用
ipa idoverrideuser-mod
命令,您可以为现有用户覆盖指定新的属性值。 将
example_for_client1
应用到client1.idm.example.com
主机:ipa idview-apply example_for_client1 --hosts=client1.idm.example.com
$ ipa idview-apply example_for_client1 --hosts=client1.idm.example.com ----------------------------- Applied ID View "example_for_client1" ----------------------------- hosts: client1.idm.example.com --------------------------------------------- Number of hosts the ID View was applied to: 1 ---------------------------------------------
Copy to Clipboard Copied! 注意ipa idview-apply
命令也接受--hostgroups
选项。选项将 ID 视图应用到属于指定主机组的主机,但不会将 ID 视图与主机组本身相关联。相反,--hostgroups
选项会展开指定主机组的成员,并将--hosts
选项分别应用到其中的每一个成员。这意味着,如果以后将主机添加到主机组中,则 ID 视图不会应用到新主机。
要将新配置立即应用到 IdM 客户端系统:
以 root 身份通过 SSH 连接到客户端系统:
ssh root@client1
$ ssh root@client1 Password:
Copy to Clipboard Copied! 在 IdM 客户端上,清除 SSSD 缓存:
sss_cache -E
# sss_cache -E
Copy to Clipboard Copied! - 在 IdM 客户端上,重启 SSSD 守护进程:
systemctl restart sssd
# systemctl restart sssd
Copy to Clipboard Copied!
验证
如果您有 user_1234 的凭证,您可以使用它们登录到 IdM 客户端:
使用 user_1234 作为登录名称,通过 SSH 连接到客户端系统:
ssh user_1234@client1.idm.example.com
# ssh user_1234@client1.idm.example.com Password: Last login: Sun Jun 21 22:34:25 2020 from 192.168.122.229 $
Copy to Clipboard Copied! 在客户端系统中,显示工作目录:
pwd
$ pwd /home/idm_user/
Copy to Clipboard Copied!
或者,如果您在 IdM 客户端上有 root 凭证,您可以使用它们检查 idm_user 和 user_1234 的
id
命令的输出:id idm_user user_1234
# id idm_user uid=779800003(user_1234) gid=779800003(idm_user) groups=779800003(idm_user) # user_1234 uid=779800003(user_1234) gid=779800003(idm_user) groups=779800003(idm_user)
Copy to Clipboard Copied!