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

SSSD配置中ldap_group_search_base未按预期生效,非授权组用户仍可访问服务器

SSSD配置中ldap_group_search_base未按预期生效,非授权组用户仍可访问服务器

看起来你误解了ldap_group_search_base这个配置项的作用——它只是告诉SSSD去哪里搜索和加载组信息,并不会自动限制只有该路径下组的成员才能登录服务器。这就是为什么所有ou=users,dc=yolo,dc=com下的用户都能访问的原因。

要解决这个问题,你需要添加访问控制过滤器来明确限制只有授权组的用户才能通过SSSD认证,具体步骤如下:

  • 在你的[domain/default]配置段中添加ldap_access_filter配置项,指定只有属于授权组的用户才能登录:

    [domain/default]
    # 保留你原有的所有配置,新增下面这一行
    ldap_access_filter = (memberOf=cn=authorized,ou=rona,ou=servers,ou=groups,dc=yolo,dc=com)
    

    这个LDAP过滤器会检查用户的memberOf属性,只有属于cn=authorized组的用户才能通过认证。

  • 先验证这个过滤器是否能正确匹配授权用户,避免配置错误:
    用ldapsearch命令测试(替换成你的实际绑定用户和密码):

    ldapsearch -x -H ldaps://ldap.yolo.com -b dc=yolo,dc=com -D uid=yolobind,ou=bind,dc=yolo,dc=com -w PASSWORD "(memberOf=cn=authorized,ou=rona,ou=servers,ou=groups,dc=yolo,dc=com)"
    

    如果命令返回的只有授权组的用户,说明过滤器是正确的。

  • 重启SSSD服务让新配置生效:

    systemctl restart sssd
    

    (如果是SysVinit系统,用service sssd restart)

  • 额外注意事项:

    • 确保你的LDAP服务器支持memberOf属性:比如OpenLDAP需要启用memberOf overlay,Active Directory默认支持这个属性。如果memberOf不可用,你可以根据LDAP schema调整过滤器,比如用groupMembership属性(取决于你的LDAP配置)。
    • 如果你之前开启过缓存(虽然你当前配置cache_credentials = False),建议清理SSSD缓存避免旧数据干扰:rm -rf /var/lib/sss/db/*后再重启服务。

这样配置后,只有cn=authorized组的用户才能登录服务器,其他用户会被SSSD拒绝认证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:13:00