Dovecot ACL Einrichtungs-Frage

Hallo,

Ich habe einen alten Postfix/Courier Mailserver nach Postfix/Dovecot migriert.
Das Courier Mailbox Schema habe ich beibehalten und das courier-dovecot-migrate.pl Script
benutzt.

Jetzt würde ich gerne noch ACL nutzen, komme aber nicht weiter.
Wenn ich ACL#s z.b. per Roundcube /Thunderbird vergebe werden im User Verzeichnis zwei
Dateien angelegt.

cat dovecot-acl
user=testuser@comundpc.de lrws

cat dovecot-acl-list
1365953681 INBOX
1365954470 Junk

Soweit sieht das ja gut aus.

Aber wie abonniere ich die freigebenden Ordner dann ?

Imap per Telnet liefert folgendes:

A GETACL Inbox.Junk
* ACL „Inbox.Junk“ „virusalert@comundpc.de“ lrwstipekxacd
A OK Getacl completed

Im Log steht dann folgendes :
Debug: acl vfile: file /etc/dovecot/global-acls/INBOX.Junk not found
Debug: acl vfile: file /var/vmail/comundpc.de/virusalert/Maildir/.Junk/dovecot-acl not found

Sowie beim Zugriff auf ACL#s:

Debug: acl vfile: Global ACL directory: /etc/dovecot/global-acls
Debug: acl vfile: reading file /etc/dovecot/global-acls/shared.comundpc.de
Debug: acl vfile: file /etc/dovecot/global-acls/shared.comundpc.de.Junk not found
Debug: acl vfile: reading file /var/vmail/comundpc.de/testuser/Maildir/.Junk/dovecot-acl
Debug: acl: No lookup right to mailbox: shared.comundpc.de.Junk
Debug: acl vfile: reading file /etc/dovecot/global-acls/shared.comundpc.de.INBOX
Debug: acl vfile: reading file /var/vmail/comundpc.de/testuser/Maildir/dovecot-acl
Debug: acl: No lookup right to mailbox: shared.comundpc.de.INBOX
Debug: acl vfile: reading file /etc/dovecot/global-acls/shared

Irgendwas scheint da mit den Namespaces und den Usern nicht zu stimmen :=(

Ausgabe von doveconf -n:

# 2.1.15: /etc/dovecot/dovecot.conf
# OS: Linux 3.8.6 x86_64 Gentoo Base System release 2.1 btrfs
auth_mechanisms = plain login cram-md5
auth_verbose = yes
auth_verbose_passwords = plain
dict {
acl = mysql:/etc/dovecot/dovecot-dict-acl-sql.conf.ext
}
first_valid_gid = 12
first_valid_uid = 8
last_valid_gid = 12
last_valid_uid = 8
lda_mailbox_autocreate = yes
mail_debug = yes
mail_gid = 12
mail_location = maildir:/var/vmail/%d/%n/Maildir/:INDEX=/var/vmail/%d/%n/indexes
mail_plugins = “ quota autocreate acl“
mail_uid = 8
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 ihave
namespace {
list = yes
location = maildir:/var/vmail/%d/%n/Maildir:INDEX=/var/vmail/%d/%n/Maildir/shared/%%u
prefix = shared.%%d.%%n.
separator = .
subscriptions = no
type = shared
}
namespace inbox {
hidden = no
inbox = yes
list = yes
location =
mailbox Drafts {
auto = subscribe
special_use = Drafts
}
mailbox Sent {
auto = subscribe
special_use = Sent
}
mailbox „Sent Messages“ {
special_use = Sent
}
mailbox Spam {
auto = subscribe
special_use = Junk
}
mailbox Trash {
auto = subscribe
special_use = Trash
}
prefix = INBOX.
separator = .
subscriptions = yes
type = private
}

passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl = vfile:/etc/dovecot/global-acls
acl_shared_dict = file:/var/vmail/shared-mailboxes
sieve = ~/.dovecot.sieve
sieve_default = /etc/dovecot/sieve/default.sieve
sieve_dir = ~/sieve
}
postmaster_address = messages@comundpc.de
protocols = imap pop3 lmtp sieve
service auth-worker {
user = mail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0600
user = postfix
}
unix_listener auth-userdb {
group = mail
mode = 0600
user = mail
}
}
service imap-login {
inet_listener imaps {
ssl = yes
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
vsz_limit = 64 M
}
service pop3-login {
inet_listener pop3s {
ssl = yes
}
}
ssl_ca = </etc/ssl/apache2/root.crt
ssl_cert = </etc/ssl/apache2/comundpc.de/comundpc.de.pem
ssl_key = </etc/ssl/apache2/comundpc.de/comundpc.de.key
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = " quota autocreate acl sieve"
}
protocol lda {
mail_plugins = " quota autocreate acl sieve"
}
protocol imap {
mail_plugins = " quota autocreate acl imap_acl"
}

Eventuell hat da jemand eine Idee???

Vielen Dank!

Ralf Kraemer

  • 16. April 2013

  • Ralf Kraemer

  • 1 Antwort

  1. Peer Heinlein sagt:

    Am 16.04.2013 09:57, schrieb Ralf Kraemer:

    > Jetzt würde ich gerne noch ACL nutzen, komme aber nicht weiter.
    > Wenn ich ACL#s z.b. per Roundcube /Thunderbird vergebe werden im User
    > Verzeichnis zwei Dateien angelegt.
    >
    > cat dovecot-acl
    > user=testuser@comundpc.de lrws
    >
    > cat dovecot-acl-list
    > 1365953681 INBOX
    > 1365954470 Junk
    >
    > Soweit sieht das ja gut aus.

    Das sieht soweit eigentlich recht gut aus, auch in der Config sehe ich
    nicht sofort ein Problem.

    Wichtig wäre aber mal zu wissen, ob er das Dictionary richtig angelegt hat:

    > acl_shared_dict = file:/var/vmail/shared-mailboxes

    Steht in shared-mailboxes eine Zeile drin, die die beiden Usernamen
    beinhaltet?

    Wenn nein: Prüfe die Dateipermissions dieser Datei, bzw. des Folders.
    Darf Dovecot mit den Rechten des Users (!) in diesem Ordner schreiben?

    Als nächster Schritt wäre mal

    mail_debug=yes

    sinnvoll und dann der Login des des Users, der die Shares kriegen müßte
    im kompletten Logfile sinnvoll. Da steht eigentlich Schritt für Schritt
    drin, ob und wie er die Shared Folders findet und den Namespace aufbaut.

    Peer