sssd 调整 ldap_search_ext

问题描述 投票:0回答:1

可以在 sssd.conf 中调整 ldap 搜索查询中使用的过滤器吗?

背景: 我/我们想用 sssd 实现 ldap 身份验证。我们的 SSD 看起来像:

[sssd]
config_file_version = 2
services = nss, pam
domains = test.de

[domain/test.de]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
enumerate = true
ldap_schema = rfc2307bis
ldap_uri = ldaps://192.168.7.1:636, ldaps://192.168.7.2:636
ldap_search_base = ou=users, o=data
ldap_user_search_base = ou=users, o=data
ldap_user_object_class = posixAccount
ldap_user_name = uid
ldap_tls_reqcert = never
cache_credentials = true
ldap_default_bind_dn = cn=ldap-clienttest,ou=sa,o=data
ldap_default_authtok_type = password
ldap_default_authtok = pawsd
debug_level = 9

My/Out 问题是 LDAP 搜索的结果。调试用户搜索会显示 ldap 搜索查询。

[(&(uid=testuser)(objekctclass=posixAccount)(uid=*)(&(uidNumber=*)(!(uidNumber=0))))][ou=users, o=data]

搜索结果将为 0 但如果我只搜索 uid(没有 uidnumber)

(&(uid=testuser)(objekctclass=posixAccount)(uid=*))

我得到了正确的结果。

如何避免使用给定的 uidNumber 过滤器?

谢谢。

authentication ldap ldap-query sssd
1个回答
0
投票

我们已经能够解决问题了。我们只需设置参数

ldap_user_uid_number = uid
由于生成的 ldapsearch,这将始终为 true。

不幸的是,我注意到日志中的另一个问题:在 ldap 目录中找到的条目无法保存在本地,因为 UID 不可用。在 sssd.conf 中我们设置了

id_provider = ldap
,如果我们使用
id_provider = local
sssd 服务不会启动。

有人有解决该问题的建议吗?

© www.soinside.com 2019 - 2024. All rights reserved.