(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