9.7. 在 IdM 客户端上为 sudo 启用 GSSAPI 身份验证
通过 pam_sss_gss.so
PAM 模块,在 IdM 客户端上为 sudo
和 sudo -i
命令启用 Generic Security Service Application Program Interface(GSSAPI)身份验证。有了这个配置,IdM 用户可以使用他们的 Kerberos ticket 向 sudo
命令进行身份验证。
先决条件
-
您已为 IdM 用户创建了一个应用于 IdM 主机的
sudo
规则。在本例中,您已创建了idm_user_reboot
sudo
规则,为idm_user
帐户授予在idmclient
主机上运行/usr/sbin/reboot
命令的权限。 -
您需要
root
权限来修改/etc/sssd/sssd.conf
文件和/etc/pam.d/
目录中的 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 9.2 或更高版本上:
可选:确定是否选择了
sssd
authselect
配置文件:authselect current
# authselect current Profile ID: sssd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果选择了
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 9.1 或更早版本上:
-
打开
/etc/pam.d/sudo
PAM 配置文件。 添加下列条目,来作为
/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