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