Dovecot ACL Problem

Klaus Tachtler klaus at tachtler.net
Di Okt 20 23:40:43 CEST 2015


Hallo,

wie sieht es mit den Dateisystemrechten für ein Verzeichnis DARÜBER  
aus, also für

--> /var/lib/dovecot (NICHT /var/lib/dovecot/db !!!)

sind diese auf vmail:vmail gesetzt, da sonst der user vmail:vmail  
bereits NICHT in
/var/lib/dovecot Dateisytemrechte hat und da auch nicht hin kommen würde!

Grüße
Klaus.


----- Nachricht von Simon Hoenscheid <simon.hoenscheid at idealo.de> ---------
      Datum: Tue, 20 Oct 2015 17:48:43 +0200
        Von: Simon Hoenscheid <simon.hoenscheid at idealo.de>
Antwort an: Alles rund um Dovecot-Server <dovecot at listen.jpberlin.de>
    Betreff: Dovecot ACL Problem
         An: dovecot at listen.jpberlin.de


> 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


----- Ende der Nachricht von Simon Hoenscheid  
<simon.hoenscheid at idealo.de> -----




--

------------------------------------------
e-Mail  : klaus at tachtler.net
Homepage: http://www.tachtler.net
DokuWiki: http://www.dokuwiki.tachtler.net
------------------------------------------



Mehr Informationen über die Mailingliste Dovecot