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