Hi,
Your *RDN *for that object is *uid=bjoern,ou=Users,dc=domain,dc=my*, which is single valued.
Either configure dovecot use uid attribute as username and not cn, either change the RDN to cn=bjoern... or look into multiple values RDNs.
Use this a reference: http://www.zytrax.com/books/ldap/apa/dn-rdn.html
Regards,
Andrei
On 20.06.2012 14:31, Bjoern Wuest wrote:
Hello together,
Just to stay updated.
I tried to connect using the distinguished name cn=<username>,ou=Users,dc=domain,dc=my .
I have changed the DN to uid=<username>,ou=Users,dc=domain,dc=my and login works. Yet I am confused because I have set index on cn as well as uid attribute (or is uid not an attribute but an element)?
Below is an ldif of the user "bjoern"
# bjoern, Users, domain.my dn: uid=bjoern,ou=Users,dc=domain,dc=my objectClass: account objectClass: posixAccount objectClass: sambaSamAccount cn: bjoern uid: bjoern uidNumber: <some number> homeDirectory: <some path> loginShell: /bin/bash gecos: bjoern description: User account sambaSID: <some SID> displayName: bjoern sambaNTPassword: <some hash> sambaPasswordHistory: 00000000000000000000000000000000000000000000000000000000 00000000 sambaPwdLastSet: 1338641123 sambaAcctFlags: [U ] gidNumber: <some group id> userPassword:: <some password>
Thank you for your support.
Bjoern
-----Original Message----- From: openldap-technical-bounces@OpenLDAP.org [mailto:openldap- technical-bounces@OpenLDAP.org] On Behalf Of Bjoern Wuest Sent: Monday, June 18, 2012 10:14 AM To: openldap-technical@openldap.org Subject: RE: Binding to openldap fails
On Sun, 17 Jun 2012, Bjoern Wuest wrote: ... However, setting up the mail system (dovecot + postfix) I encountered a problem new to me. When I try to bind as a "normal" user
(here:
bjoern) to LDAP it fails with wrong credentials. I can assure that I did not mistyped the password (tried multiple times). Login to the Linux system and samba with same credentials (i.e. bjoern and his password) works.
Here is the part of syslog I expect to be the cause:
Jun 17 19:36:45 server slapd[23241]: <<< dnPrettyNormal: <cn=bjoern,ou=Users,dc=domain,dc=my>, <cn=bjoern,ou=users,dc=domain,dc=my> Jun 17 19:36:45 server slapd[23241]: conn=1003 op=0 BIND dn="cn=bjoern,ou=Users,dc=domain,dc=my" method=128 Jun 17 19:36:45 server slapd[23241]: do_bind: version=3 dn="cn=bjoern,ou=Users,dc=domain,dc=my" method=128 Jun 17 19:36:45 server slapd[23241]: Jun 17 19:36:45 server slapd[23241]: ==> hdb_bind: dn: cn=bjoern,ou=Users,dc=domain,dc=my Jun 17 19:36:45 server slapd[23241]: bdb_dn2entry("cn=bjoern,ou=users,dc=domain,dc=my") Jun 17 19:36:45 server slapd[23241]: daemon: epoll: listen=8 active_threads=0 tvp=zero Jun 17 19:36:45 server slapd[23241]: => hdb_dn2id("cn=bjoern,ou=users,dc=domain,dc=my") Jun 17 19:36:45 server slapd[23241]: daemon: epoll: listen=9 active_threads=0 tvp=zero Jun 17 19:36:45 server slapd[23241]: daemon: epoll: listen=10 active_threads=0 tvp=zero Jun 17 19:36:45 server slapd[23241]: daemon: epoll: listen=11 active_threads=0 tvp=zero Jun 17 19:36:45 server slapd[23241]: <= hdb_dn2id: get failed:
DB_NOTFOUND:
No matching key/data pair found (-30987)
In my experience, that sort of error from the DB library usually means a change to the indexing or schema was made without reindexing and/or dumping and reloading.
If you're confident that's not the case here (how confident?), then have
you
compared that log output to the log output of a successful login?
Philip Guenther
Dear Philip,
thank you for pointing me to the index files. I have recreated all the
indexes
but without effect. Here are the indexes I have defined:
index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUid eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index sambaGroupType eq index sambaSIDList eq index default sub
and here are the index files created:
-rw-rw---- 1 openldap openldap 16384 Jun 18 10:01 cn.bdb -rw-rw---- 1 openldap openldap 24576 Jun 18 10:01 __db.001 -rw-rw---- 1 openldap openldap 1236992 Jun 18 10:01 __db.002 -rw-rw---- 1 openldap openldap 20979712 Jun 18 10:01 __db.003 -rw-rw---- 1 openldap openldap 163840 Jun 18 10:01 __db.004 -rw-rw---- 1 openldap openldap 1294336 Jun 18 10:01 __db.005 -rw-rw---- 1 openldap openldap 32768 Jun 18 10:01 __db.006 -rw-rw---- 1 openldap openldap 194 Mai 20 08:55 DB_CONFIG -rw-rw---- 1 openldap openldap 16384 Jun 18 10:01 displayName.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:00 dn2id.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 gidNumber.bdb -rw-rw---- 1 openldap openldap 32768 Jun 18 10:00 id2entry.bdb -rw-rw---- 1 openldap openldap 10485760 Jun 18 10:01 log.0000000001 -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 memberUid.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 objectClass.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 sambaDomainName.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 sambaGroupType.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 sambaSID.bdb -rw------- 1 openldap openldap 8192 Jun 18 10:01 sambaSIDList.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 uid.bdb -rw-rw---- 1 openldap openldap 8192 Jun 18 10:01 uidNumber.bdb
The indexes were created using "slapindex -f /etc/ldap/slapd.conf". The files "dn2id.bdb" and "id2entry.dbd" are old ones because slapindex would not create any index without them.
Yet, the problem still remains. User "bjoern" can login to linux (even
from
remote hosts) and samba, but fails to login via dovecot as well as ldapsearch.
I further compared the syslog when doing a successful login versus an unsuccessful login. Of course I have restarted nscd and nslcd services to clear caches (I hope). Yet, nscd / nslcd may also explain why linux and
samba
login works. Both are done via nslcd which uses the ldap admin account to access the ldap.
So, further indications are welcome.
If you like I can also provide you with the full slapd.conf file so you
would
be able to setup an Ubuntu 12.04 system with the same ldap configuration in a virtual machine.
Regards Bjoern