Problem with cached userdb info
Ángel L. Mateo
amateo at um.es
Tue Oct 30 14:05:55 EET 2018
Hi,
I'm having a problem with my cached userdb information.
These are my passdb and userdbs:
passdb {
driver = ldap
args = /etc/dovecot/dovecot-ldap.conf.ext
}
userdb {
driver = prefetch
}
userdb {
driver = ldap
args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
}
In /etc/dovecot/dovecot-ldap-userdb.conf.ext (userdb) I have:
user_attrs =
=user=%{ldap:mail},=quota_rule=%{ldap:quota:*:storage=10G},=home_prefix=/mail/mailboxes/%L{domain},=index_prefix=/mail/indexes/%L{domain},=relpath=%2L{ldap:umServiceUniqueId}/%L{ldap:umServiceUniqueId},=uuid=%L{ldap:umPersonalUniqueId}
user_filter =
(&(objectClass=CourierMailAccount)(irisUserStatus=urn:mace:rediris.es:um.es:userstatus:correo:estado:activo)(irisMailhost=popimapclu11.um.es)(|(uid=%{auth_user})(mail=%{auth_user})))
and in /etc/dovecot/dovecot-ldap.conf.ext (passdb) I have:
pass_attrs =
=userdb_user=%{ldap:mail},=userdb_quota_rule=%{ldap:quota:*:storage=10G},=userdb_home_prefix=/mail/mailboxes/%L{domain},=userdb_index_prefix=/mail/indexes/%L{domain},=userdb_relpath=%2L{ldap:umServiceUniqueId}/%L{ldap:umServiceUniqueId},=userdb_uuid=%L{ldap:umPersonalUniqueId},=uuid=%L{ldap:umPersonalUniqueId}
pass_filter =
(&(objectClass=CourierMailAccount)(irisUserStatus=urn:mace:rediris.es:um.es:userstatus:correo:estado:activo)(irisMailhost=popimapclu11.um.es)(|(uid=%u)(mail=%u)))
The problem I have is that quota information is not updated when I
changed in my ldap.
These are the steps I'm running:
1. First, I check current quota (dovecot just restarted):
amateo_adm at myotis60:/etc/dovecot/conf.d$ sudo doveadm user -f quota_rule
angel.luis at um.es
*:storage=2G
in the log I get:
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: master in:
USER#0111#011angel.luis at um.es#011service=doveadm#011debug
Oct 29 14:29:46 myotis60 dovecot: auth: Debug:
prefetch(angel.luis at um.es): passdb didn't return userdb entries, trying
the next userdb
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es):
userdb cache miss
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es):
user search: base=ou=Usuarios,dc=Telematica scope=subtree
filter=(&(objectClass=CourierMailAccount)(irisUserStatus=urn:mace:rediris.es:um.es:userstatus:correo:estado:activo)(irisMailhost=popimapclu11.um.es)(|(uid=angel.luis at um.es)(mail=angel.luis at um.es)))
fields=mail,quota,umServiceUniqueId,umServiceUniqueId,umPersonalUniqueId
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es):
result: mail=angel.luis at um.es
umServiceUniqueId=3aa35516-d2bd-11e8-8708-d0cb8a49c4ef
umPersonalUniqueId=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
quota=*:storage=2G; mail,umPersonalUniqueId,quota,umServiceUniqueId unused
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es):
result: mail=angel.luis at um.es
umServiceUniqueId=3aa35516-d2bd-11e8-8708-d0cb8a49c4ef
umPersonalUniqueId=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef quota=*:storage=2G
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: userdb out:
USER#0111#011angel.luis at um.es#011quota_rule=*:storage=2G#011home_prefix=/mail/mailboxes/um.es#011index_prefix=/mail/indexes/um.es#011relpath=3a/3aa35516-d2bd-11e8-8708-d0cb8a49c4ef#011uuid=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
2. Then I change user quota.
3. And later, I flush auth cache:
amateo_adm at myotis60:/etc/dovecot/conf.d$ sudo doveadm auth cache flush
angel.luis at um.es
0 cache entries flushed
with debug log:
Oct 29 14:31:00 myotis60 dovecot: auth: Debug: master in:
CACHE-FLUSH#0111#011angel.luis at um.es
4. Finally, I get again the quota:
amateo_adm at myotis60:/etc/dovecot/conf.d$ sudo doveadm user -f quota_rule
angel.luis at um.es
*:storage=2G
with debug log:
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: master in:
USER#0111#011angel.luis at um.es#011service=doveadm#011debug
Oct 29 14:31:49 myotis60 dovecot: auth: Debug:
prefetch(angel.luis at um.es): passdb didn't return userdb entries, trying
the next userdb
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es):
userdb cache hit:
quota_rule=*:storage=2G#011home_prefix=/mail/mailboxes/um.es#011index_prefix=/mail/indexes/um.es#011relpath=3a/3aa35516-d2bd-11e8-8708-d0cb8a49c4ef#011uuid=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: userdb out:
USER#0111#011angel.luis at um.es#011quota_rule=*:storage=2G#011home_prefix=/mail/mailboxes/um.es#011index_prefix=/mail/indexes/um.es#011relpath=3a/3aa35516-d2bd-11e8-8708-d0cb8a49c4ef#011uuid=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
I'm also confussed about that dovecot is always loggin:
prefetch(angel.luis at um.es): passdb didn't return userdb entries, trying
the next userdb
even if I have made a imap/pop3 before the doveadm user command.
Am I doing something wrong? Is there any way to flush this userdb cache
(without restarting dovecot)?
--
Angel L. Mateo Martínez
Sección de Telemática
Área de Tecnologías de la Información
y las Comunicaciones Aplicadas (ATICA)
http://www.um.es/atica
Tfo: 868889150
Fax: 868888337
More information about the dovecot
mailing list