Zugriff auf eine Mailbox für andere User
Christoph Haas
christoph+dovecot_de at haas-online.org
Sa Nov 10 21:38:40 CET 2018
Hallo zusammen,
ich verzweifle noch an einer Aufgabe, die ich unter Cyrus IMAPd
trivial erledigen konnte: der Freigabe der Mailbox eines Benutzers
(userA) für einen anderen Benutzer (userB).
Dovecot ist in Version 2.2.13. Mailbox-System ist mdbox (nicht mbox
oder Maildir!). Das System laeuft mit Debian. Die
Mailbox-Verzeichnisse liegen unter /var/vmail/.
Die ACLs der Mailbox des freigebenden Benutzers userA fuer Benutzer
userB habe ich versucht folgendermassen zu setzen:
doveadm mailbox list -u userA "*" | while read mailbox; do doveadm acl
set -u userA "$mailbox" user=userB admin create delete expunge insert
lookup post read write write-deleted write-seen; done
Wie kann ich nun die gesetzten ACLs nun ueberpruefen?
Mit
"doveadm acl debug -u userB shared/userA"
erhalte ich die Fehlermeldung
"doveadm(userB): Error: Mailbox 'INBOX' in namespace 'shared/userA/'
doesn't exist in /var/vmail/shared/userA/mail"
Dies scheint mir plausibel zu sein, denn die Mailbox des userA liegt
ja in "/var/vmail/userA/mail"
Eine Abfrage
"doveadm acl debug -u userB userA"
ergibt
"doveadm(userB): Error: Can't open mailbox userA: Mailbox doesn't
exist: userA"
/etc/dovecot/conf.d/10-mail.conf sieht bei mir so aus:
mail_location = mdbox:~/mail:INBOX=/var/vmail/%n/mail
mail_plugins = acl quota
mail_shared_explicit_inbox = no
namespace inbox {
type = private
separator = /
prefix = INBOX/
inbox = yes
hidden = no
list = yes
subscriptions = yes
ignore_on_failure = no
}
namespace {
type = shared
separator = /
prefix = shared/%%u/
location = mdbox:~/mail:INDEX=~/mail/shared/%%n
list = yes
subscriptions = yes
ignore_on_failure = no
}
Ob der Eintrag fuer die shared mailboxen richtig ist, bin ich mir
nicht sicher.
Ich hatte zu Beginn nur den "namespace inbox" konfiguriert, aber jetzt
muss ich auf andere eingerichtete Mailboxen Zugriffe vergeben...
Mit Cyrus musste ich nur in cyradm ein "setaclmailbox INBOX.userA.*
lrswipkxtecda" absetzen und in meinem Mailer wurde bei userB ein neuer
Ordner "user.userA" mit allen freigegebenen Ordnern angezeigt.
Wo bzw. wie kann ich dann die freigegebene Mailbox anzeigen lassen?
Ich habe die Anzeige nur von abonierten IMAP-Ordner in meinem Mailer
(Horde IMP) bereits deaktiviert, so dass alles auf das Zugriffsrechte
bestehen, angezeigt werden sollte. - Das hat bislang auch mit Cyrus
gut funktioniert.
Mit Dovecot bekomme ich das einfach nicht hin ...
Was muss ich tun, damit userB auf die Ordner von userA zugreifen kann
und wie werden die freigegebenen Ordner von userA bei userB angezeigt?
Schon mal Danke fuer Eure Hilfe!
Christoph.
--
Christoph Haas
Mehr Informationen über die Mailingliste Dovecot