[Dovecot] %d not recognized with LDAP
Iain Conochie
iain at shihad.org
Sat Jan 5 16:11:06 EET 2008
Anil wrote:
> LDAP will return whatever the LDAP schema is defined as (for the
> case), which is "uid".
>
> I took out the pass_attrs, but didn't appear to be working.
>
> I then added:
> pass_attrs = uid
>
> then, it was able to find the domain!
>
> http://wiki.dovecot.org/AuthDatabase/LDAP
> is a bit confusing in the documentation of pass_attrs.
>
>
> IMO, pass_attrs_map is a better name, since its used for mapping
> attributes from LDAP attributes to Dovecot names.
>
> But, if "pass_attrs = uid" is working, what exactly is getting mapped to what?
>
I _think_ i was having a similar problem to you. I was trying to login
with user at domain and in the ldap directory i have the ou=people with
uid=user. When i had
pass_attrs = uid
in the logs i saw
Jan 4 16:17:45 slayer dovecot: auth(default): master out:
USER^I2^Iiain^Igid=XXX^Ihome=/home/iain^Iuid=XXXX
Jan 4 16:17:45 slayer dovecot: imap-login: Login: user=<iain>,
method=PLAIN, rip=X.X.X.X, lip=X.X.X.X, TLS
Jan 4 16:17:45 slayer dovecot: IMAP(iain): Ambiguous mail location
setting, don't know what to do with it: /opt/mail//iain/ (try prefixing
it with mbox: or maildir:)
I changed this to be
pass_attrs = uid=user at domain
And now i see
Jan 4 17:11:11 slayer dovecot: auth(default): master out:
USER^I1^Iiain at shihad.org^Igid=XXX^Ihome=/home/iain^Iuid=XXXX
Jan 4 17:11:11 slayer dovecot: imap-login: Login:
user=<iain at shihad.org>, method=PLAIN, rip=X.X.X.X, lip=X.X.X.X, TLS
Jan 4 17:11:11 slayer dovecot: IMAP(iain at shihad.org): Ambiguous mail
location setting, don't know what to do with it:
/opt/mail/shihad.org/iain/ (try prefixing it with mbox: or maildir:)
Please note that the "ambiguous mail location setting" is because i was
daft enough to have
mail_location: /opt/mail/%d/%n/
And changing this to
mail_location: maildir:/opt/mail/%d/%n/
sorted the problem :) Also IP's etc change to protect the guilty ;)
So basically my ldap settings are now
#user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
user_filter = (&(objectClass=posixAccount)(uid=%n))
pass_attrs = uid=user at domain,userPassword=password
pass_filter = (&(objectClass=posixAccount)(uid=%n))
and this seems to return the information i want
So perhaps you could try
pass_attrs = uid=user at domain
Cheers
Iain
>
>
>
>
>
> On Jan 4, 2008 4:04 PM, Timo Sirainen <tss at iki.fi> wrote:
>
>> On Fri, 2008-01-04 at 08:12 -0800, Anil wrote:
>>
>>> pass_attrs = uid=user
>>> pass_filter = uid=%n
>>>
>> uid=user makes Dovecot change the full username to uid's value, which
>> means it drops the domain. You could probably just leave pass_attrs
>> empty. I don't remember if LDAP lookups are case-insensitive though. If
>> they are, use %Ln and %Ld in your home and mail_location to avoid
>> getting "user" and "User" and "uSer" directories.
>>
>>
>>
More information about the dovecot
mailing list