OpenLDAP 2.4.48中查询status属性值为1的用户失败问题求助
大家好,我最近在用OpenLDAP slapd 2.4.48时碰到了个查询难题,想请各位帮忙分析下。
情况是这样的:我们所有用户都带有status属性,值只能是0或者1。现在我需要筛选出status值为1的用户,但试了几次都没得到预期结果。
我先试了这条命令,用来查询所有带有status属性的用户:
ldapsearch -x -H ldap://lda-server -b "ou=staff,ou=people,dc=sso,dc=gdu,dc=cn" "(&(objectClass=person)(status=*))"
执行后确实返回了一些条目,其中能看到明确有用户的status值是1,比如这条:
dn: uid=2012010497,ou=staff,ou=people,dc=sso,dc=gdu,dc=cn
lastTime:: MjAyM+W5tDfmnIgyNeaXpSDkuIvljYgxMuaXtjA05YiGNTXnp5I=
sn:: Jack
roleId: 3
status: 1
roleName:: Engineer
gid: 051
objectClass: top
objectClass: person
objectClass: sperson
uid: 208010188
cn:: Lin
userPassword:: xxxxxxxxxxxxxxxxxxxxxx
不过这次查询最后报了大小限制的错误:
search resultsearch: 2
result: 4 Size limit exceedednumResponses: 501numEntries: 500
之后我改成直接指定status=1来查询,用了这条命令:
ldapsearch -x -H ldap://lda-server -b "ou=staff,ou=people,dc=sso,dc=gdu,dc=cn" "(&(objectClass=person)(status=1))"
结果却没有返回任何符合条件的条目,这就让我很纳闷了——明明刚才的查询里能看到有status=1的用户,为什么精准匹配就查不到呢?
有没有朋友遇到过类似的问题?或者能帮我找找可能的原因,以及解决这个查询问题的办法?
备注:内容来源于stack exchange,提问作者Clinton

