You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需FQDN使用AD凭据执行sudo的权限问题

无需FQDN使用AD凭据执行sudo的权限问题

嗨,看起来你已经搞定了AD登录的大部分配置,但卡在了不带FQDN登录时的sudo权限上,我来帮你梳理几个最可能的原因和解决办法:

  • 检查sudoers配置是否匹配无FQDN的用户名
    大概率你之前的sudo规则是针对myuser@mydomain.com这种带域名的用户设置的,当你关闭FQDN登录后,系统识别的用户名变成了myuser,原有的规则就不匹配了。
    你可以用visudo命令编辑sudoers文件(或者在/etc/sudoers.d/目录下的自定义配置文件里),把用户条目改成不带域名的格式:

    # 原来的规则可能是这样
    myuser@mydomain.com ALL=(ALL) ALL
    # 修改成不带FQDN的版本
    myuser ALL=(ALL) ALL
    

    如果是用AD组来授权sudo的话,同样把%groupname@mydomain.com改成%groupname即可。

  • 确认SSSD的sudo服务配置
    打开/etc/sssd/sssd.conf检查两个点:

    1. 确保services字段包含sudo,比如:services = nss, pam, sudo
    2. 在[sudo]段里也加上use_fully_qualified_names = False,避免sudo模块依然使用FQDN解析用户:
      [sudo]
      use_fully_qualified_names = False
      ldap_sudo_search_base = OU=Sudoers,DC=mydomain,DC=com  # 这里替换成你的AD sudo规则存放路径
      
  • 刷新SSSD缓存并重启服务
    SSSD会缓存用户信息和sudo规则,修改配置后一定要清除缓存让新设置生效:

    sss_cache -E  # 清空所有SSSD缓存
    systemctl restart sssd
    

    执行完后退出当前会话重新登录,再尝试sudo操作。

  • 验证用户解析是否正常
    用以下命令确认不带FQDN的用户能正确关联到AD用户:

    id myuser  # 查看用户的UID、GID及所属组
    getent passwd myuser  # 检查用户的完整属性信息
    

    注意排查是否有本地用户和AD用户重名的情况,这会导致系统优先识别本地用户,从而影响sudo权限。

  • 检查PAM的sudo配置
    确保/etc/pam.d/sudo文件里包含SSSD的验证模块,这样sudo才会通过SSSD获取AD用户的权限信息,文件里应该有类似以下两行:

    auth sufficient pam_sss.so
    account sufficient pam_sss.so
    

一般来说,调整sudoers规则并刷新SSSD缓存就能解决这个问题,如果还是不行,可以再检查SSSD的日志(/var/log/sssd/sssd_sudo.log),里面会有详细的错误信息帮你定位问题。

备注:内容来源于stack exchange,提问作者user1709122

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:29:28