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

Wenger Florian wenger at unifox.at
Do Okt 13 09:31:34 CEST 2016


Am 2016-10-13 09:08, schrieb Andreas Schulze:
> 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.
>> 
...
>> 
>>  /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?

Das soll meine Abfrage so eingrenzen, dass nur User mit gesetztem mail 
Feld übermittelt werden.
Es gibt User im AD, die keine E-Mail Adresse haben, diese User brauche 
ich im Dovecot nicht.

MFG Florian Wenger
--
Wer zuletzt lacht, hat den höchsten PING.
--


Mehr Informationen über die Mailingliste Dovecot