Басов Евгений
2011-Mar-26 19:31 UTC
[Dovecot] Dovecot-2.0.11 searches in all LDAP directory
Hello. I have some users IDs in different OUs with different passwords. Base OU for mail server is 'ou=Mail, dc=ph, dc=com' Trying manual search: # ldapsearch -b 'ou=Mail, dc=ph, dc=com' -D 'cn=bind, ou=Users, dc=ph, dc=com' -w XXX -s sub -h mainserv.ph.com '(&(objectClass=qmailUser)(uid=someuser))' uid mailMessageStore ? # extended LDIF ? uid: someuser mailMessageStore: /var/mail/someuser/Maildir/ # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 It works fine. My dovecot configuration: # 2.0.11: /etc/dovecot/dovecot.conf # OS: Linux 2.6.36-gentoo-r5 x86_64 Gentoo Base System release 2.0.1 base_dir = /var/run/dovecot/ listen = * login_trusted_networks = 192.168.1.0/24 mail_location = maildir:~/.maildir managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date passdb { args = * driver = pam } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin/sieve = ~/.dovecot.sieve plugin/sieve_dir = ~/sieve protocols = imap ssl_cert = </etc/ssl/dovecot/server.pem ssl_key = </etc/ssl/dovecot/server.key userdb { driver = passwd } userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } verbose_proctitle = yes protocol lda { mail_plugins = sieve } My /etc/dovecot/dovecot-ldap.conf.ext: hosts = mainserv.ph.com dn = cn=bind, ou=Users, dc=ph, dc=com dnpass = XXX debug_level = 255 auth_bind = yes ldap_version = 3 base = ou=Mail, dc=ph, dc=com scope = subtree user_attrs = mailMessageStore=home user_filter = (&(objectClass=qmailUser)(uid=%u)) pass_attrs = uid=user,userPassword=password pass_filter = (&(objectClass=qmailUser)(uid=%u)) I tested IMAP over telnet: $ telnet mainserv.ph.com 143 Trying 192.168.1.252... Connected to mainserv.ph.com. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready. a001 LOGIN someuser password1 Two passwords are tested: for uid from ou=Mail and ou=Users. LDAP logs of searches: slapd[1917]: filter: (&(objectClass=posixAccount)(uid=someuser)) slapd[1917]: attrs: slapd[1917]: uid slapd[1917]: userPassword slapd[1917]: uidNumber slapd[1917]: gidNumber? and etc after this: slapd[1917]: => access_allowed: search access to "cn=John Smith,ou=Mail,dc=ph,dc=com" "objectClass" requested slapd[1917]: => dn: [2] ou=mail,dc=ph,dc=com slapd[1917]: => acl_get: [2] matched slapd[1917]: => acl_get: [2] attr objectClass? and etc I have some questions: 1. Why is it searches in another LDAP places, not only ou=Mail, dc=ph, dc=com? 2. It not put mailMessageStore from ou=Mail, dc=ph, dc=com. Why? 3. How disable lookup in another LDAP places exept ou=Mail, dc=ph, dc=com? Thanks for answers.
Басов Евгений
2011-Mar-26 19:36 UTC
[Dovecot] Dovecot-2.0.11 searches in all LDAP directory
> I tested IMAP over telnet: > > $ telnet mainserv.ph.com 143 > Trying 192.168.1.252... > Connected to mainserv.ph.com. > Escape character is '^]'. > * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE > IDLE STARTTLS AUTH=PLAIN] Dovecot ready. > a001 LOGIN someuser password1 > > Two passwords are tested: for uid from ou=Mail and ou=Users.Dovecot authenticate with password1 for uid from ou=Mail and for some uid from ou=Users. It should not be.
Joseba Torre
2011-Mar-28 11:19 UTC
[Dovecot] Dovecot-2.0.11 searches in all LDAP directory
On Saturday 26 March 2011 20:36:21 ????? ??????? wrote:> Dovecot authenticate with password1 for uid from ou=Mail and for some > uid from ou=Users. It should not be.Maybe the password in the ou=Users matches the pam password? Maybe pam is checking ldap? This could also explain why sometimes the home is not set correctly. If not needed, remove the pam passdb and the passwd userdb and check again. HTH -- Joseba Torre. Vicegerencia de TICs, ?rea de Explotaci?n