36.4. 配置 Web 控制台,以允许使用智能卡进行身份验证的用户运行 sudo,而无需要求再次进行身份验证
登录到 RHEL web 控制台上的用户帐户后,作为身份管理(IdM)系统管理员,您可能需要使用超级用户权限运行命令。您可以使用 约束委托 功能来在系统上运行 sudo,而无需要求再次进行身份验证。
按照以下流程,将 Web 控制台配置为使用受限的委托。在以下示例中,Web 控制台会话运行在myhost.idm.example.com主机上。
先决条件
-
您已获得 IdM
admin票据授予票(TGT)。 - Web 控制台服务在 IdM 中存在。
- myhost.idm.example.com 主机在 IdM 中存在。
-
您已为 IdM 服务器上的域管理员启用了
adminsudo访问权限。详情请参阅 在 IdM 主机上为 IdM 管理员启用 sudo 访问权限。 Web 控制台在用户会话中创建了一个
S4U2ProxyKerberos ticket。要验证是否是这种情况,请以 IdM 用户身份登录 Web 控制台,打开Terminal页面,并输入:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
创建可以通过委派规则访问的目标主机列表:
创建服务委托目标:
ipa servicedelegationtarget-add cockpit-target
$ ipa servicedelegationtarget-add cockpit-targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将目标主机添加到委派目标:
ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/myhost.idm.example.com@IDM.EXAMPLE.COM
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/myhost.idm.example.com@IDM.EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow
通过创建服务委派规则并将
HTTP服务 Kerberos 主体添加到其中,允许cockpit会话访问目标主机列表:创建服务委派规则:
ipa servicedelegationrule-add cockpit-delegation
$ ipa servicedelegationrule-add cockpit-delegationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Web 控制台服务添加到委派规则中:
ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将委派目标添加到委派规则中:
ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
启用
pam_sss_gss,用来通过通用安全服务应用程序接口(GSSAPI)与系统安全服务守护进程(SSSD)合作来验证用户的 PAM 模块:-
打开
/etc/sssd/sssd.conf文件进行编辑。 指定
pam_sss_gss可以为 IdM 域中的sudo和sudo -i命令提供身份验证:[domain/idm.example.com] pam_gssapi_services = sudo, sudo-i
[domain/idm.example.com] pam_gssapi_services = sudo, sudo-iCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存并退出 文件。
-
打开
/etc/pam.d/sudo文件进行编辑。 将以下行插入到
#%PAM-1.0列表的顶部以允许但不要求sudo命令的 GSSAPI 身份验证:auth sufficient pam_sss_gss.so
auth sufficient pam_sss_gss.soCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存并退出 文件。
-
打开
重启
SSSD服务,以便上述更改立即生效:systemctl restart sssd
$ systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow