Dovecot ACL Problem

Simon Hoenscheid simon.hoenscheid at idealo.de
Di Okt 20 17:48:43 CEST 2015


Hallo Liste,

wir haben heute unseren hausinternen IMAP Server umgezogen. Auf diesem 
gibt es Shared Mailboxes. Diese liegen in
/var/lib/dovecot/db/shared-mailboxes.db als globale ACL Datei. Auf dem 
alten Server hat Dovecot auf diese Datei zugegriffen. Auf dem neuen 
passiert das nicht.

Das log sagt folgendes:

Oct 20 16:47:20 imap-01 dovecot: imap: Debug: Loading modules from 
directory: /usr/lib/dovecot/modules
Oct 20 16:47:20 imap-01 dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib01_acl_plugin.so
Oct 20 16:47:20 imap-01 dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib02_imap_acl_plugin.so
Oct 20 16:47:20 imap-01 dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib10_quota_plugin.so
Oct 20 16:47:20 imap-01 dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib11_imap_quota_plugin.so
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: 
Effective uid=5000, gid=5000, home=/data/vmail/
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: 
quota: No quota setting - plugin disabled
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: 
Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, 
list=yes, subscriptions=yes location=mdbox:/data/vmail/beispiel.de/testuser
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: fs: 
root=/data/vmail/beispiel.de/testuser, index=, control=, inbox=, alt=
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: 
Namespace : Using permissions from /data/vmail/beispiel.de/testuser: 
mode=0775 gid=-1
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl: 
initializing backend with data: vfile
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl: 
acl username = testuser at beispiel.de
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl: 
owner = 1
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl 
vfile: Global ACL directory: (none)
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: 
Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, 
list=children, subscriptions=yes location=mdbox:%d/%n/
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: 
shared: root=/var/run/dovecot, index=, control=, inbox=, alt=
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl: 
initializing backend with data: vfile
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl: 
acl username = testuser at beispiel.de
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl: 
owner = 0
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl 
vfile: Global ACL directory: (none)
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl 
vfile: file 
/data/vmail/beispiel.de/testuser/mailboxes/Archives/dbox-Mails/dovecot-acl 
not found
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl 
vfile: file 
/data/vmail/beispiel.de/testuser/mailboxes/Drafts/dbox-Mails/dovecot-acl 
not found
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl 
vfile: file 
/data/vmail/beispiel.de/testuser/mailboxes/INBOX/dbox-Mails/dovecot-acl 
not found
Oct 20 16:47:20 imap-01 dovecot: imap(testuser at beispiel.de): Debug: acl 
vfile: file 
/data/vmail/beispiel.de/testuser/mailboxes/Junk/dbox-Mails/dovecot-acl 
not found
[...]

gemacht wurde:

* Ein Neustart von Dovecot
* Ein Diff zwischen beiden configs (alt vs. neu), es unterscheiden sich 
nur Zertifikate und IP Adressen, Dovecot Version ist die gleiche 
(2.1.7), Debian 7.8 (alt), und Debian 7.9
* ein userwechsel, der vmail user als der dovecot läuft ist in der lage 
die  datei /var/lib/dovecot/db/shared-mailboxes.db zu lesen/zu schreiben

* Ein

'inotifywait -mr /var/lib/dovecot/'

und ein

'inotifywait -mr /data/vmail/'

bei 'doveadm acl set -u user1 at beispiel.de INBOX user=user2 at beispiel.de 
admin create delete expunge insert lookup post read write write-deleted 
write-seen'

zeigt das dovecot die ACL dateien im Mailbox directory schreibt.

Ich bin ziemlich Ratlos, hilfreiche Hinweise sind gerne gesehen.

Vielen Dank
Simon

---

Doveconf -n ausgabe:

# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.9 ext4
auth_mechanisms = plain login
mail_debug = yes
mail_location = mdbox:/data/vmail/%d/%n
mail_plugins = " quota acl"
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
mdbox_rotate_size = 10 M
namespace {
   hidden = no
   ignore_on_failure = no
   inbox = no
   list = children
   location = mdbox:%%d/%%n/
   prefix = shared/%%u/
   separator = /
   subscriptions = yes
   type = shared
}
namespace inbox {
   inbox = yes
   location =
   mailbox Archives {
     auto = subscribe
     special_use = \Archive
   }
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Junk {
     auto = subscribe
     special_use = \Junk
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix =
   separator = /
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
plugin {
   acl = vfile
   acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
}
postmaster_address = postmaster at beispiel.de
protocols = " imap lmtp sieve pop3"
service auth {
   inet_listener {
     address = 172.16.192.40
     port = 12411
   }
   unix_listener auth-userdb {
     group = vmail
     user = vmail
   }
}
service imap-login {
   inet_listener imap {
     port = 143
   }
   inet_listener imaps {
     port = 0
     ssl = yes
   }
   process_min_avail = 0
   service_count = 1
}
service imap {
   process_limit = 1024
   vsz_limit = 256 M
}
service lmtp {
   inet_listener lmtp-inet {
     address = 172.16.192.40
     port = 24
   }
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   process_min_avail = 0
   service_count = 1
   vsz_limit = 64 M
}
ssl = required
ssl_cert = 
</etc/ssl/certs/imap-01.srv00.inf00.eu.beispiel.de_dovecot_fallback.pem
ssl_key = 
</etc/ssl/private/imap-01.srv00.inf00.eu.beispiel.de_dovecot_fallback.key
userdb {
   args = uid=vmail gid=vmail home=/data/vmail/
   driver = static
}
protocol lda {
   mail_plugins = " quota acl sieve"
}
protocol imap {
   mail_plugins = " quota acl imap_acl imap_quota"
}
protocol sieve {
   mail_max_userip_connections = 10
   managesieve_implementation_string = Dovecot Pigeonhole
   managesieve_logout_format = bytes=%i/%o
   managesieve_max_compile_errors = 5
   managesieve_max_line_length = 65536
}
local_name imap-01.srv00.inf00.eu.beispiel.de {
   ssl_cert = </etc/ssl/certs/imap-01.srv00.inf00.eu.beispiel.de.pem
   ssl_key = </etc/ssl/private/imap-01.srv00.inf00.eu.beispiel.de.key
}

-- 
Simon Hönscheid
Systemadministrator Online

idealo internet GmbH
Ritterstraße 11
10969 Berlin

Tel.: +49 (0)30 221 94 33 – 565
Fax: +49 (0)30 221 94 33 – 21

Geschäftsführer: Dr. Albrecht von Sonntag, Dr. Philipp-Christopher Peitsch  HRB 76749 –
Amtsgericht Berlin-Charlottenburg
USt.-ID: DE813070905
www.idealo.de  |www.idealo.at  |www.idealo.co.uk  |www.idealo.fr |www.idealo.it |www.idealo.pl |www.idealo.es



Mehr Informationen über die Mailingliste Dovecot