【发布时间】:2014-12-16 15:31:49
【问题描述】:
我的组织的 ldap 中有一个使用 openldap 实现的只读用户,我不知道树的确切结构,但我知道对象 bogota、medellin、palmira 下有许多组织单元,(依次位于组织xxx.edu.co 的下方)。我有兴趣在二级组织(波哥大、麦德林、帕尔米拉)下面的每个people 组织单元中使用另一个名为employeeNumber 的属性搜索uid 的人。我可以通过以下方式实现:
ldapsearch -h secret.xxx.edu.co -D 'uid=myUser,ou=Institucional,o=bogota,o=xxx.edu.co' -w myPass -x -b 'ou=People,o=bogota,o=xxx.edu.co' '(&(employeeNumber=123485))'
问题在于效率,考虑到我的组织有超过 40000 个用户,搜索速度非常慢,如果我使用 uid 搜索,搜索速度非常快,我猜这棵树完全是由'uid' 或类似的东西。关键是,正是 uid 是我的目标,另外我知道我搜索的人的 uid 的近似形式,例如,我知道如果我正在搜索具有 employeeNumber=12345 的 Pepito Pérez 的 uid,这必须以“p”开头。
我怎样才能在这个问题上取得更好的表现?
我认为通过索引 uid 属性中的正则表达式过滤树并在此子集中搜索employeeNumber 之后可能具有良好的性能。我需要一种不需要 ldap 管理员权限的方法。
【问题讨论】:
标签: algorithm ldap openldap ldap-query