在没有给定objectClass的情况下查询所有条目的LDAP

时间:2014-10-13 20:12:37

标签: ldap openldap ldap-query

我的LDAP目录中有几个条目,指定了不同的对象类

dn: uid=user1,ou=users,dc=exampleCompany,dc=com
uid: user1
objectClass: user
objectClass: developer
cn: User1 User

dn: uid=user2,ou=users,dc=exampleCompany,dc=com
uid: user2
objectClass: user
objectClass: administrator
cn: User2 User

dn: uid=user3,ou=users,dc=exampleCompany,dc=com
uid: user3
objectClass: user
objectClass: developer
objectClass: administrator
cn: User3 User

dn: uid=user4,ou=users,dc=exampleCompany,dc=com
uid: user4
objectClass: anotherClass
cn: User4 User

我想查询所有没有objectClass:developer的人,不管他们有什么其他对象类。 我试过了

ldapsearch -x -b ou=users,dc=exampleCompany,dc=com "(&(objectClass=*)(!(objectClass=developer)))" 

但我得到了

dn: ou=users,dc=exampleCompany,dc=com
objectClass: organizationalUnit
ou: users

# search result
search: 2
result: 0 Success

什么是正确的查询?

1 个答案:

答案 0 :(得分:1)

正如你所拥有但没有&和(objectClass=*)部分。

您还需要指定子树搜索。