20.8. 在 IdM 客户端上为 sudo 启用 GSSAPI 身份验证,并强制实施 Kerberos 身份验证指标
				通过 pam_sss_gss.so PAM 模块,在 IdM 客户端上为 sudo 和 sudo -i 命令启用 Generic Security Service Application Program Interface (GSSAPI) (GSSAPI)身份验证。此外,只有已使用智能卡登录的用户才能使用 他们的 Kerberos 票据对这些命令进行身份验证。
			
您可以将此流程作为模板,使用 SSSD 为其他 PAM 感知的服务配置 GSSAPI 身份验证,并进一步限制只对那些在其 Kerberos 票据上附加了特定身份验证指标的用户进行访问。
先决条件
- 
						您已为应用于 IdM 主机的 IdM 用户创建了 sudo规则。在本例中,您已创建了idm_user_rebootsudo规则,为idm_user帐户授予在idmclient主机上运行/usr/sbin/reboot命令的权限。
- 
						您已为 idmclient主机配置了智能卡身份验证。
- 
						idmclient主机正在运行 RHEL 8.4 或更高版本。
- 
						您需要 root权限来修改/etc/sssd/sssd.conf文件和/etc/pam.d/目录中的 PAM 文件。
步骤
- 
						打开 /etc/sssd/sssd.conf配置文件:
- 将以下条目添加到 - [domain/ <idm_domain_name>]部分。- [domain/<idm_domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit - [domain/<idm_domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit- 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配置文件:- authselect select sssd - # authselect select sssd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 启用 GSSAPI 身份验证: - authselect enable-feature with-gssapi - # authselect enable-feature with-gssapi- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将系统配置为只使用智能卡验证用户: - authselect with-smartcard-required - # authselect with-smartcard-required- 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文件。
- 
								打开 /etc/pam.d/sudo-iPAM 配置文件。
- 添加下列条目,作为 - /etc/pam.d/sudo-i文件中的- auth部分的第一行。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
								保存并关闭 /etc/pam.d/sudo-i文件。
 
- 
								打开 
验证
- 以 - idm_user帐户登录到主机,并使用智能卡进行身份验证。- ssh -l idm_user@idm.example.com localhost - [root@idmclient ~]# ssh -l idm_user@idm.example.com localhost PIN for smart_card- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证作为智能卡用户,您有一个票据授予票据。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 显示允许 - idm_user帐户执行的- sudo规则。- 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