52.4. 配置 Web 控制台,以允许使用智能卡进行身份验证的用户运行 sudo,而无需要求再次进行身份验证


登录到 RHEL web 控制台上的用户帐户后,作为身份管理(IdM)系统管理员,您可能需要使用超级用户权限运行命令。您可以使用 受限委托 功能在系统上运行 sudo,而无需再次进行身份验证。

按照以下流程,将 Web 控制台配置为使用受限的委托。在以下示例中,Web 控制台会话运行在myhost.idm.example.com主机上。

先决条件

  • 您已获得 IdM admin 票据授予票(TGT)。
  • Web 控制台服务在 IdM 中存在。
  • myhost.idm.example.com 主机在 IdM 中存在。
  • 您已为 IdM 服务器上的域管理员启用了 admin sudo 访问权限。
  • Web 控制台在用户会话中创建了一个 S4U2Proxy Kerberos ticket。要验证是否是这种情况,请以 IdM 用户身份登录 Web 控制台,打开 Terminal 页面,并输入:

    $ klist
    Ticket cache: FILE:/run/user/1894000001/cockpit-session-3692.ccache
    Default principal: user@IDM.EXAMPLE.COM
    
    Valid starting     Expires            Service principal
    07/30/21 09:19:06 07/31/21 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
    07/30/21 09:19:06  07/31/21 09:19:06  krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
            for client HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
    Copy to Clipboard

流程

  1. 创建可以通过委派规则访问的目标主机列表:

    1. 创建服务委托目标:

      $ ipa servicedelegationtarget-add cockpit-target
      Copy to Clipboard
    2. 将目标主机添加到委派目标:

      $ ipa servicedelegationtarget-add-member cockpit-target \
        --principals=host/myhost.idm.example.com@IDM.EXAMPLE.COM
      Copy to Clipboard
  2. 通过创建服务委派规则并将 HTTP 服务 Kerberos 主体添加到其中,允许 cockpit 会话访问目标主机列表:

    1. 创建服务委派规则:

      $ ipa servicedelegationrule-add cockpit-delegation
      Copy to Clipboard
    2. 将 Web 控制台服务添加到委派规则中:

      $ ipa servicedelegationrule-add-member cockpit-delegation \
        --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
      Copy to Clipboard
    3. 将委派目标添加到委派规则中:

      $ ipa servicedelegationrule-add-target cockpit-delegation \
        --servicedelegationtargets=cockpit-target
      Copy to Clipboard
  3. 启用 pam_sss_gss,用来通过通用安全服务应用程序接口(GSSAPI)与系统安全服务守护进程(SSSD)合作来验证用户的 PAM 模块:

    1. 打开 /etc/sssd/sssd.conf 文件进行编辑。
    2. 指定 pam_sss_gss 可以为 IdM 域中的 sudosudo -i 命令提供身份验证:

      [domain/idm.example.com]
      pam_gssapi_services = sudo, sudo-i
      Copy to Clipboard
    3. 保存并退出文件。
    4. 打开 /etc/pam.d/sudo 文件进行编辑。
    5. 将以下行插入到 #%PAM-1.0 列表的顶部以允许但不要求 sudo 命令的 GSSAPI 身份验证:

      auth sufficient pam_sss_gss.so
      Copy to Clipboard
    6. 保存并退出文件。
  4. 重启 SSSD 服务,以便上述更改立即生效:

    $ systemctl restart sssd
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat