Hi,
I have a little Problem with openldap 2.3.27 under openSUSE 10.2 and open-exchange 8.2.1. open-exchange try to search with something like that
# ldapsearch -x -s one -a always -D "" -b "ou=Users,ou=OxObjects,dc=nieda,dc=de" "(&(uid=tux)(objectClass=OXUserObject))"
and find nothing.
/var/log/messages
ACCEPT from IP=127.0.0.1:8932 (IP=0.0.0.0:389) BIND dn="" method=128 RESULT tag=97 err=0 text= SRCH base="ou=Users,ou=OxObjects,dc=nieda,dc=de" scope=1 deref=3 filter="(&(uid=tux)(objectClass=OXUserObject))" SEARCH RESULT tag=101 err=0 nentries=0 text=
Now I try it with rootdn and all works fine:
/var/log/messages
# ldapsearch -x -W -s one -a always -D "cn=Manager,dc=nieda,dc=de" -b "ou=Users,ou=OxObjects,dc=nieda,dc=de" "(&(uid=tux)(objectClass=OXUserObject))"
ACCEPT from IP=127.0.0.1:24195 (IP=0.0.0.0:389) BIND dn="cn=Manager,dc=nieda,dc=de" method=128 BIND dn="cn=Manager,dc=nieda,dc=de" mech=SIMPLE ssf=0 RESULT tag=97 err=0 text= SRCH base="ou=Users,ou=OxObjects,dc=nieda,dc=de" scope=1 deref=3 filter="(&(uid=tux)(objectClass=OXUserObject))" SEARCH RESULT tag=101 err=0 nentries=1 text=
By default, everything should be readable for everyone, but why openldap give me no result for my first call? Thanks for help.
Patrick
# # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema #include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/yast.schema
include /etc/openldap/acl_ox.conf include /usr/share/open-xchange/openxchange.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org
pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args
# Load dynamic backend modules: modulepath /usr/lib/openldap/modules # moduleload back_ldap.la # moduleload back_meta.la # moduleload back_monitor.la # moduleload back_perl.la
# Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy: # Root DSE: allow anyone to read it # Subschema (sub)entry DSE: allow anyone to read it # Other DSEs: # Allow self write access to user password # Allow anonymous users to authenticate # Allow read access to everything else # Directives needed to implement policy: access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read
access to attrs=userPassword,userPKCS12 by self write by * auth
access to attrs=shadowLastChange by self write by * read
access to * by * read
# if no access controls are present, the default policy # allows anyone and everyone to read anything but restricts # updates to rootdn. (e.g., "access to * by * read") # # rootdn can always read and write EVERYTHING!
####################################################################### # BDB database definitions #######################################################################
database bdb suffix "dc=nieda,dc=de" checkpoint 1024 5 cachesize 10000 rootdn "cn=Manager,dc=nieda,dc=de" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw <secret> # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /var/lib/ldap # Indices to maintain index objectClass eq index uid,mailEnabled,cn,sn,givenname,alias,loginDestination eq,sub index memberUid eq
Hmph. That slapd.conf looks fine.
This could happen if you added some indexes to slapd.conf _after_ adding the entry you are searching for - then that entry would not be indexed, which would tell slapd that it does not match your search. If you did the rootdn search afterwards, that should have failed too, but maybe you misremember in which order you tried things. Anyway: Stop slapd, run sbin/slapindex, restart slapd, and see if that helps.
If not, you could try to move these statements below the 'database' section:
access to attrs=userPassword,userPKCS12 by self write by * auth access to attrs=shadowLastChange by self write by * read access to * by * read
and keep an access to * by * read above as well. Shouldn't matter, so if it helps you've found a bug...
That's all I can think of.
openldap-software@openldap.org