8.7. 在 IdM 客户端上为 sudo 启用 GSSAPI 身份验证
				以下流程描述了通过 pam_sss_gss.so PAM 模块在 IdM 客户端上为 sudo 和 sudo -i 命令启用通用安全服务应用程序接口(GSSAPI)身份验证。有了这个配置,IdM 用户可以使用他们的 Kerberos ticket 向 sudo 命令进行身份验证。
			
先决条件
- 
						您已为 IdM 用户创建了一个应用于 IdM 主机的 sudo规则。在本例中,您已创建了idm_user_rebootsudo规则,来为idm_user帐户授予在idmclient主机上运行/usr/sbin/reboot命令的权限。
- 
						idmclient主机正在运行 RHEL 8.4 或更高版本。
- 
						您需要 root权限来修改/etc/pam.d/目录中的/etc/sssd/sssd.conf文件和 PAM 文件。
步骤
- 
						打开 /etc/sssd/sssd.conf配置文件:
- 将以下条目添加到 - [domain/<domain_name>]部分中。- [domain/<domain_name>] pam_gssapi_services = sudo, sudo-i - [domain/<domain_name>] pam_gssapi_services = sudo, sudo-i- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
						保存并关闭 /etc/sssd/sssd.conf文件。
- 重启 SSSD 服务以载入配置更改。 - systemctl restart sssd - [root@idmclient ~]# systemctl restart sssd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 如果您正在运行 RHEL 8.8 或更高版本: - [可选] 确定您是否选择了 - sssd- authselect配置文件:- authselect current - # authselect current Profile ID: sssd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出显示选择了 - sssd- authselect配置文件。
- 如果选择了 - sssd- authselect配置文件,请启用 GSSAPI 身份验证:- authselect enable-feature with-gssapi - # authselect enable-feature with-gssapi- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 如果没有选择 - sssd- authselect配置文件,请选择它,并启用 GSSAPI 身份验证:- authselect select sssd with-gssapi - # authselect select sssd with-gssapi- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 如果您正在运行 RHEL 8.7 或更早版本: - 
								打开 /etc/pam.d/sudoPAM 配置文件。
- 添加下列条目,来作为 - /etc/pam.d/sudo文件中- auth部分的第一行。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
								保存并关闭 /etc/pam.d/sudo文件。
 
- 
								打开 
验证步骤
- 以 - idm_user帐户的身份登录主机。- ssh -l idm_user@idm.example.com localhost - [root@idm-client ~]# ssh -l idm_user@idm.example.com localhost idm_user@idm.example.com's password:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证您作为 - idm_user帐户有一个票据授予票据。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- (可选) 如果您没有 - idm_user帐户的 Kerberos 凭证,请删除您当前的 Kerberos 凭证,并请求正确的凭证。- kdestroy -A kinit idm_user@IDM.EXAMPLE.COM - [idm_user@idmclient ~]$ kdestroy -A [idm_user@idmclient ~]$ kinit idm_user@IDM.EXAMPLE.COM Password for idm_user@idm.example.com:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用 - sudo而不指定密码来重新启动机器。- sudo /usr/sbin/reboot - [idm_user@idmclient ~]$ sudo /usr/sbin/reboot- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow