当前位置: 首页 > 知识库问答 >
问题:

LDAP搜索在子OUs中找不到条目

裴昕
2023-03-14
dc=corp,dc=com
|--dc=security
   |--ou=users
      |--ou=corporate
      |  |--ou=it
      |     |--it-user1
      |     |--it-user2
      |--user1
      |--user2
      |--user3
uid=it-user2,ou=users,dc=security,dc=corp,dc=com

搜索的范围设置为子树。我以为子树作用域会导致LDAP在整个树中递归搜索,但事实似乎并非如此。但是,如果我像下面这样将完整的路径添加到搜索中,就会找到该条目。

uid=it-user2,ou=it,ou=corporate,ou=users,dc=security,dc=corp,dc=com

有人能告诉我哪里出了问题吗?谢了。

共有1个答案

丁安宜
2023-03-14

您需要将搜索上下文(即搜索库)设置为对象/条目的存储位置。根据您的示例,搜索上下文为ou=users,dc=security,dc=corp,dc=com。当您将搜索范围设置为subtree时,它应该找到与您的critera(即搜索筛选器)匹配的一个或多个条目。例如,

ldapsearch -h SERVER -b ou=users,dc=security,dc=corp,dc=com -s sub "(uid=it-user2)"

当然,使用“subtree”搜索范围,您甚至可以将搜索上下文设置为更高级别的容器(例如dc=security、dc=corp、dc=com)。只要您的条目符合筛选器指定的条件,该条目仍将被找到。由于要搜索ou=users容器下的所有条目,因此查询可能如下所示:

ldapsearch -h SERVER -b ou=users,dc=security,dc=corp,dc=com -s sub "(uid=*)"

ldapsearch -h SERVER -b ou=users,dc=security,dc=corp,dc=com -s sub "(objectclass=*)"
 类似资料:
  • 我编写了一个Java应用程序,通过LDAP搜索Active directory以获取用户信息。我有一个传入的自定义Person类实例列表。在它我有DN或电子邮件定义。我正在相应地修改搜索条件。代码如下: 代码工作时没有错误,但当指定DN时,它确实找到了一个人,但当定义email时,它什么也找不到。但是,如果复制生成的筛选器字符串并将其以以下形式传递给ldapsearch命令: ldapsearch

  • 我安装并配置了OpenLDAP服务器,配置如下: 我测试了这个简单的Java LDAP客户机,以便通过发送用户名和密码对用户进行身份验证:

  • 问题内容: 我正在玩LDAP和Java搜索。这是我的一个简单组织的LDIF导出 如何运行Java代码段以从LDAP服务器获取所有用户?我的Apache DS目录服务器上没有身份验证设置。 问题答案:

  • 问题内容: 我正在使用JNDI连接到LDAP活动目录,并且我想搜索名称包含搜索字符串的用户,因此我的搜索方法如下: 这是我与LDAP建立连接的方式: LDAP凭证如下: 为什么搜索需要那么多时间来检索数据?由于广告中只有285个联系人,我可以做些什么来加快搜索速度吗? 问题答案: 解决方案是更改为

  • LDAP新手。我们LDAP的排列方式是人和组。这些人拥有用户信息,如姓名、uid和邮件。组有组名和multiple member字段,该字段的值为cn=first Last,cn=People,dc=comic,dc=com,列出了属于组的成员。 目前从userid和password开始,执行两个搜索:1)通过在People base domain上搜索uid=value来获取用户,然后从用户获得