(anderes) LDAP Problem: ldap_search failed: Size limit exceeded

Andreas Schulze andreas.schulze at datev.de
Do Okt 13 09:08:13 CEST 2016


Am 12.10.2016 um 21:06 schrieb Wenger Florian:
> Hallo liebe Dovecot-Leute!
> 
> Ich möchte gerne eine Dovecot-Installation an ein Active-Directory anbinden.
> (Wir müssen unser Mailsystem überarbeiten und testen verschiedene Produkte.)
> Die Anbindung funktioniert mittlerweile auch, dennoch gibt es Probleme mit der 
> Menge des LDAP-Ergebnis,
> 
> doveadm  user '*wenger@*'
> doveadm(root): Error: User listing returned failure
> doveadm(root): Fatal: user listing failed
> 
> und im Log steht
> Oct 12 20:50:43 khsdovecot1 dovecot: auth-worker(14579): Error: 
> ldap(*wenger@*): ldap_search(base=OU=users,DC=example,DC=local 
> filter=(&(objectClass=person)(mail=*)(!(userAccountControl=514)))) failed: Size 
> limit exceeded
> 
> Wie kann ich Dovecot bitten, die LDAP - Abfragen in kleinere Häppchen zu 
> zerlegen.
> Aktuell bekomme ich nicht mehr als 3000 Elemente
> 
> Die Benutzer sind in unterschiedlichsten OUs eingeordnet.
> Daher muss der LDAP-base sehr allgemein gehalten werden.
> 
> Über Rückmeldungen würde ich mich freuen.
> 
> Hier noch meine Konfig: 
> doveconf -n
> # 2.2.13: /etc/dovecot/dovecot.conf
> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6 
> auth_debug = yes
> auth_verbose = yes
> disable_plaintext_auth = no
> mail_debug = yes
> 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 ihave
> namespace inbox {
>   disabled = no
>   hidden = no
>   ignore_on_failure = no
>   inbox = yes
>   list = yes
>   location = 
>   mailbox Drafts {
>     auto = no
>     driver = 
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = no
>     driver = 
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = no
>     driver = 
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     auto = no
>     driver = 
>     special_use = \Sent
>   }
>   mailbox Trash {
>     auto = no
>     driver = 
>     special_use = \Trash
>   }
>   prefix = INBOX/
>   separator = /
>   subscriptions = yes
>   type = private
> }
> passdb {
>   args = /etc/dovecot/dovecot-ldap.conf.ext
>   driver = ldap
> }
> plugin {
>   sieve = ~/.dovecot.sieve
>   sieve_dir = ~/sieve
> }
> protocols = " imap lmtp sieve pop3"
> ssl = no
> userdb {
>   args = /etc/dovecot/dovecot-ldap.conf.ext
>   driver = ldap
> }
> verbose_proctitle = yes
> 
> 
> 
> 
>  /etc/dovecot/dovecot-ldap.conf.ext
> hosts = host1 host2 host3
> dn = CN=Mailsystem,OU=Systembenutzer,OU=users,DC=example,DC=local
> dnpass = supergeheim
> auth_bind = yes
> ldap_version = 3
> base = OU=users,DC=example,DC=local
> scope = subtree
> user_attrs = =home=/srv/vmail/%Lu,=uid=10000,=gid=10000
> user_filter     = (&(sAMAccountName=%u)(objectClass=person)(mail=*)(!
> (userAccountControl=514)))
> pass_attrs = userPassword=password
> pass_filter     = (&(sAMAccountName=%u)(objectClass=person)(mail=*)(!
> (userAccountControl=514)))
> iterate_filter = (&(objectClass=person)(mail=*)(!(userAccountControl=514)))
> default_pass_scheme = CRYPT
> 
> Mir ist klar, dass die Konfiguration noch nicht optimal ist, aber es ist erst 
> ein erster Versuch.
> 
> MFG
> 
Die Suchfilter sind das Problem: user_filter = (&(sAMAccountName=%u)(objectClass=person)(mail=*)(!(userAccountControl=514)))
mail=* ist irgendwie doof. Was willst Du damit erreichen?


-- 
A. Schulze
DATEV eG


Mehr Informationen über die Mailingliste Dovecot