搜索

55.7. 在 IdM 客户端上为 sudo 启用 GSSAPI 身份验证

download PDF

以下流程描述了通过 pam_sss_gss.so PAM 模块在 IdM 客户端上为 sudosudo -i 命令启用通用安全服务应用程序接口(GSSAPI)身份验证。使用这个配置,IdM 用户可以使用它们的 Kerberos 票据对 sudo 命令进行身份验证。

先决条件

  • 您已为应用于 IdM 主机的 IdM 用户创建了 sudo 规则。在本例中,您已创建了 idm_user_reboot sudo 规则,为 idm_user 帐户授予在 idmclient 主机上运行 /usr/sbin/reboot 命令的权限。
  • idmclient 主机正在运行 RHEL 8.4 或更高版本。
  • 您需要 root 权限来修改 /etc/sssd/sssd.conf 文件和 /etc/pam.d/ 目录中的 PAM 文件。

流程

  1. 打开 /etc/sssd/sssd.conf 配置文件:
  2. [domain/<domain_name> ] 部分中添加以下条目。

    [domain/<domain_name>]
    pam_gssapi_services = sudo, sudo-i
  3. 保存并关闭 /etc/sssd/sssd.conf 文件。
  4. 重启 SSSD 服务以载入配置更改。

    [root@idmclient ~]# systemctl restart sssd
  5. 如果您正在运行 RHEL 8.8 或更高版本:

    1. [可选] 确定是否您已选择了 sssd authselect 配置文件:

      # authselect current
      Profile ID: sssd

      输出显示选择了 sssd authselect 配置文件。

    2. 如果选择了 sssd authselect 配置文件,请启用 GSSAPI 身份验证:

      # authselect enable-feature with-gssapi
    3. 如果没有选择 sssd authselect 配置文件,请选择它并启用 GSSAPI 身份验证:

      # authselect select sssd with-gssapi
  6. 如果您正在运行 RHEL 8.7 或更早版本:

    1. 打开 /etc/pam.d/sudo PAM 配置文件。
    2. 添加下列条目,作为 /etc/pam.d/sudo 文件中的 auth 部分的第一行。

      #%PAM-1.0
      auth sufficient pam_sss_gss.so
      auth       include      system-auth
      account    include      system-auth
      password   include      system-auth
      session    include      system-auth
    3. 保存并关闭 /etc/pam.d/sudo 文件。

验证步骤

  1. idm_user 帐户身份登录到主机。

    [root@idm-client ~]# ssh -l idm_user@idm.example.com localhost
    idm_user@idm.example.com's password:
  2. 验证您有一个票据授予票据作为 idm_user 帐户。

    [idmuser@idmclient ~]$ klist
    Ticket cache: KCM:1366201107
    Default principal: idm_user@IDM.EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    01/08/2021 09:11:48  01/08/2021 19:11:48  krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
    	renew until 01/15/2021 09:11:44
  3. (可选) 如果您没有 idm_user 帐户的 Kerberos 凭证,请删除您当前的 Kerberos 凭证,并请求正确的凭证。

    [idm_user@idmclient ~]$ kdestroy -A
    
    [idm_user@idmclient ~]$ kinit idm_user@IDM.EXAMPLE.COM
    Password for idm_user@idm.example.com:
  4. 使用 sudo 重启机器,而不用指定密码。

    [idm_user@idmclient ~]$ sudo /usr/sbin/reboot
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.