Hallo,
ich habe einen Weg gefunden Unterordner in shared foldern mit Email-Adressen zu erstellen. Dies ist (noch) nicht als Lösung ins Produkt eingeflossen, aber es funktioniert bei mir ganz gut: Ich definiere globale ACLs für die Wurzel des shared folder. Subfolder können dann von einem User mit den entsprechenden Rechten (create/k) angelegt werden. Das klappte bisher nicht, weil es keinen übergeordneten Ordner mit ACLs gab. Durch die globalen ACLs ist das aber egal.
An /etc/dovecot/local.conf
anhängen (evtl. erzeugen):
plugin {
acl = vfile:/etc/dovecot/global-acls:cache_secs=300
}
Datei /etc/dovecot/global-acls
erzeugen:
shared/name@my.domain user=all@my.domain akxeilprwts
shared/name@my.domain user=write@my.domain eilprwts
shared/name@my.domain user=read@my.domain lrws
shared/name@my.domain user=post@my.domain lprws
shared/name@my.domain user=append@my.domain eilprwts
Es wird nur die erste Zeile benötigt, um einen User mit Admin-Rechten (incl. “kx” ) zu definieren. Neue Ordner bekommen jedoch genau die Berechtigungen die hier stehen, und so spart man sich das spätere Ändern. Die anderen User sind Beispiele für die Berechtigungen ‘read’, ‘write’ usw die man sonst in der UMC auswählen kann. Hier sollte einfach das gleiche stehen wie in
/var/spool/dovecot/private/my.domain/name/Maildir/dovecot-acl
mit shared/name@my.domain
jeder Zeile vorangestellt. Im Falle eines OX-Servers bietet es sich an, für den admin-User “oxadmin@my.domain” zu nehmen.
Das einfachste ist also:
- das share in der UMC editieren:
- den oxadmin mit “All” hinzuzufügen
- mit
doveadm acl get -u oxadmin@my.domain shared/name@my.domain
überprüfen ob es geklappt hat -
k
undx
hinzufügen: doveadm acl set -u oxadmin@my.domain shared/name@my.domain user=oxadmin@my.domain admin create delete expunge insert lookup post read write write-deleted write-seen
- die ACL-Datei zur globalen ACL-Konfig kopieren:
cat /var/spool/dovecot/private/my.domain/name/Maildir/dovecot-acl >> /etc/dovecot/global-acls
- und editieren, so dass sie so aussieht wie oben. Dokumentation: https://wiki.dovecot.org/ACL → “Global ACLs”
Nach getaner Arbeit Dovecot neu starten: systemctl restart dovecot.service
Laufende Sessions müssen beendet werden, um die neuen ACLs zu bemerken: doveadm kick '*'
Nun sollte das Anlegen von Unterordnern klappen. Die Berechtigungen werden aus der globalen ACL Datei in das neue Verzeichnis kopiert.
Für’s schnellere Testen, lassen sich Ordner auch an der Kommandozeile anlegen:
doveadm mailbox create -u oxadmin@my.domain shared/name@my.domain/subfolder
Gruß
Daniel Tröder