AW: Shared folders mit Dovecot und Sogo
Dennis Riehle
webmaster at riehle-web.com
Mi Jul 6 11:22:55 CEST 2016
Hallo Daniel,
erstmal herzlichen Dank für deine Antwort. Die Angabe "subscription"
bezieht sich allerdings nur darauf, ob die Ordner standardmäßig
abonniert werden sollen. Ich habe in SOGo aber bereits die Option
ausgewählt, dass alle Ordner - auch die nicht abonnierten - angezeigt
werden sollen und auch der Befehl doveadm mailbox list zeigt sowohl
abonnierte, wie auch nicht-abonnierte Ordner an. Ich habe "subscription"
mal auf yes gesetzt, aber erwartungsgemäß bringt das leider keine
Änderung.
Ich habe nun nochmal weiter rumgespielt und dabei das Problem finden
können! Meine Benutzernamen sind die vollständigen Mailadressen, also
z.B. thomas.smith at example.org. Durch die in den Mailadressen enthaltenen
Punkte kommt Dovecot durcheinander, wenn man - so wie ich - den
"separator" auf einen Punkt eingestellt hat. Die Pfade über die Dovecot
dann versucht auf die freigegebene Mailbox zuzugreifen sind dann falsch.
Das scheint ein Bug oder zumindest ein bekanntes Verhalten von Dovecot
zu sein:
http://www.dovecot.org/list/dovecot/2014-April/095749.html
Wenn ich den Separator auf "/" ändere, dann funktionert es. Allerdings
musste ich den Separator sowohl für den privaten, wie auch den geteilten
Namespace ändern. Folgende Konfiguration funktioniert (übrigens im
Zusammenspiel mit ISPConfig, falls das jemanden interssiert):
namespace inbox {
type = private
separator = /
prefix =
inbox = yes
}
namespace shared {
type = shared
separator = /
prefix = shared/%%u/
location =
maildir:%%h/Maildir:INDEX=%h/shared/%%u:CONTROL=%h/shared/%%u
subscriptions = no
list = children
}
Viele Grüße
Dennis
Am 06.07.2016 08:07, schrieb Mueller:
> Schau mal hier:
> http://dokuwiki.tachtler.net/doku.php?id=tachtler:dovecot_shares [1]
>
> Hier:
>
> namespace {
> list = yes
> location =
> maildir:%%h/Maildir:INDEX=%h/shared/%%u:CONTROL=%h/shared/%%u
> prefix = shared.%%u.
> separator = .
> subscriptions = no ßdas müsste auf yes gesetzt werden damit es
> an gezeigt werden kann
> type = shared
> }
>
> Bei mir funktionierend:
>
> namespace {
> list = children
> location =
> maildir:/var/mail/maildata/%%u/mail:INDEX=/var/mail/maildata/%u/mail/shared/%%u:CONTROL=%h/shared/%%u
> prefix = shared/%%u/
> separator = /
> subscriptions = yes
> type = shared
> }
>
> Grüße
>
> Daniel
>
> EDV DANIEL MÜLLER
>
> Leitung EDV
> Tropenklinik Paul-Lechler-Krankenhaus
> Paul-Lechler-Str. 24
> 72076 Tübingen
>
> Tel.: 07071/206-463, Fax: 07071/206-499
> Email: mueller at tropenklinik.de
> www.tropenklinik.de [2]
>
> www.bauen-sie-mit.tropenklinik.de
>
>
>
> VON: Dennis Riehle [mailto:webmaster at riehle-web.com]
> GESENDET: Dienstag, 5. Juli 2016 15:07
> AN: dovecot at listen.jpberlin.de
> BETREFF: Shared folders mit Dovecot und Sogo
>
> Hallo zusammen,
>
> ich bin neu hier in dieser Maillingliste und da ich über Google auf
> einige hilfreiche Diskussionen hier gestoßen bin, dachte ich, ich
> frage mit meinem Problem mal hier nach. Vielleicht hat hier ja jemand
> eine Idee, die mir weiterhelfen kann :-)
>
> Ich habe einen Sever mit Sogo aufgesetzt, welcher auf meinen
> bestehenden Mailserver mit Dovecot und Postfix zugreift. Sogesehen
> reichert der Sogo-Server also mein IMAP/SMTP lediglich im Groupware
> an, also Kalender, Kontakte etc. Das klappt soweit auch prima und die
> Oberfläche von Sogo lässt sich auch für die Konfiguration von IMAP
> ACLs nutzen. Allein Dovecot liefert die freigegebenen Ordner anderer
> Nutzer leider bei einem LIST-Befehl nicht aus, weshalb die für einen
> User freigegebenen Ordner nicht sichtbar sind.
>
> Mittlerweile hab ich keine Idee mehr woran es liegen könnte. Alle
> Daten von Dovecot liegen in /var/vmail, alle Dateien und Ordner
> gehören vmail:vmail und haben 0600 bzw. 0700 als Rechte - das müsste
> doch eigentlich passen? Auch die ACLs selber scheinen zu passen, wie
> die Ausgabe von doveadm -f table acl und die Inhalte der Datei
> dovecot-acl zeigen. In meinem Szenario haben <User1> und <User2>
> jeweils ihre INBOX für den anderen User freigegeben. Keiner der User
> kann allerdings auf die INBOX des anderen zugreifen. Anbei die Ausgabe
> von doveconf -n und darunter auch diverser anderen Befehle.
>
> Hat jemand noch eine Idee was ich falsch machen könnte?
>
> Herzlichen Dank und Grüße
> Dennis
>
> doveconf -n
> # 2.2.13: /etc/dovecot/dovecot.conf
> doveconf: Warning: NOTE: You can get a new clean config file with:
> doveconf -n > dovecot-new.conf
> doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:61:
> namespace shared {} has been replaced by namespace { type=shared }
> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.5
> auth_mechanisms = plain login
> disable_plaintext_auth = no
> listen = *,[::]
> log_timestamp = "%Y-%m-%d %H:%M:%S "
> mail_debug = yes
> mail_plugins = quota acl
> mail_privileged_group = vmail
> namespace {
> list = yes
> location =
> maildir:%%h/Maildir:INDEX=%h/shared/%%u:CONTROL=%h/shared/%%u
> prefix = shared.%%u.
> separator = .
> subscriptions = no
> type = shared
> }
> namespace inbox {
> inbox = yes
> location =
> prefix =
> separator = .
> type = private
> }
> passdb {
> args = /etc/dovecot/dovecot-sql.conf
> driver = sql
> }
> plugin {
> acl = vfile
> acl_shared_dict = file:/var/vmail/shared-mailboxes.db
> quota = dict:user::file:/var/vmail/%d/%n/.quotausage
> sieve = /var/vmail/%d/%n/.sieve
> }
> protocols = imap pop3
> service auth {
> unix_listener /var/spool/postfix/private/auth {
> group = postfix
> mode = 0660
> user = postfix
> }
> unix_listener auth-userdb {
> group = vmail
> mode = 0600
> user = vmail
> }
> user = root
> }
> service imap-login {
> client_limit = 1000
> process_limit = 500
> }
> ssl_cert = </etc/postfix/smtpd.cert
> ssl_key = </etc/postfix/smtpd.key
> ssl_protocols = !SSLv2 !SSLv3
> userdb {
> args = /etc/dovecot/dovecot-sql.conf
> driver = sql
> }
> protocol imap {
> mail_plugins = quota acl imap_quota imap_acl
> }
> protocol pop3 {
> mail_plugins = quota
> pop3_uidl_format = %08Xu%08Xv
> }
> protocol lda {
> mail_plugins = sieve quota acl
> }
>
> cat /var/vmail/<HOSTNAME>/<USER2>/Maildir/dovecot-acl
> user=<USER1>@<HOSTNAME> akxeilprwts
>
> cat /var/vmail/<HOSTNAME>/<USER2>/Maildir/dovecot-acl-list
> 1467719607 INBOX
>
> doveadm -f table acl get -u <USER1>@<HOSTNAME> INBOX
> ID Global Rights
> user=<USER2>@<HOSTNAME> insert lookup read write
> write-deleted write-seen
>
> cat /var/vmail/shared-mailboxes.db
> shared/shared-boxes/user/<USER2>@<HOSTNAME>/<USER1>@<HOSTNAME>
> 1
> shared/shared-boxes/user/<USER1>@<HOSTNAME>/<USER2>@<HOSTNAME>
> 1
>
> doveadm mailbox list -u <USER1>@<HOSTNAME>
> Trash
> Sent
> Junk
> Drafts
> shared
> INBOX
>
> Links:
> ------
> [1] http://dokuwiki.tachtler.net/doku.php?id=tachtler:dovecot_shares
> [2] http://www.tropenklinik.de/
Mehr Informationen über die Mailingliste Dovecot