Auf [Bitte][1] hin will ich das Anlegen von “shared folders” unter [courier-imapd][2] nochmals etwas erläutern. Verwendet habe ich Version 3.0.2.
Als Vorbereitung habe ich einen funktionalen User angelegt, der dann in der /etc/aliases in die Mailverteiler aufgenommen wird. Nachdem alles gut funktioniert, können die einzelnen Benutzer dann aus dem Verteiler herausgenommen werden und nur der funktionale Benutzer verbleibt (und die, die trotzdem alle Mail bekommen wollen).
Im $HOME dieses Benutzers legt man dann zuerst das Maildir an, das die “shared folders” enthalten soll. Das kann man natürlich auch bei jedem einzelnen Benutzer machen, so dass der IMAP-Server dann eine ganze Reihe an gemeinsamen Ordnern anbietet.
Die Beispiele hier legen zuallererst das Maildir “Shared” an, und danach in “Shared” drei verschiedene Ordner, die sinnigerweise, der Anschaulichkeit halber, nach den Berechtigungen benannt wurden, lesbar (read), gruppenschreibbar (group) und weltschreibbar (write).
maildirmake -S Shared
maildirmake -s group -f group Shared
maildirmake -s read -f read Shared
maildirmake -s write -f write Shared
Die Auswirkungen der unterschiedlichen Rechtevergabe kann man sehr leicht sehen. Im Gruppenfall fehlende Weltrechte und das sticky-bit im Falle der Weltschreibbarkeit:
bronski@tesla:~$ ls -ld Shared
drwxr-xr-x 8 bronski emp 512 Apr 8 12:02 Shared
bronski@tesla:~$ ls -la Shared
drwxr-x--- 5 bronski emp 512 Apr 8 12:02 .group
drwxr-xr-x 5 bronski emp 512 Apr 8 12:01 .read
drwxr-xr-t 5 bronski emp 512 Apr 8 12:01 .write
drwx------ 2 bronski emp 512 Apr 8 11:54 cur
drwx------ 2 bronski emp 512 Apr 8 11:54 new
drwx------ 2 bronski emp 512 Apr 8 11:54 tmp
bronski@tesla:~$ ls -la Shared/.group/
drwxr-x--- 2 bronski emp 512 Apr 8 12:02 cur
drwxr-x--- 2 bronski emp 512 Apr 8 12:02 new
drwxr-x--- 2 bronski emp 512 Apr 8 12:02 tmp
bronski@tesla:~$ ls -la Shared/.read/
drwxr-xr-x 2 bronski emp 512 Apr 8 12:01 cur
drwxr-xr-x 2 bronski emp 512 Apr 8 12:01 new
drwxr-xr-x 2 bronski emp 512 Apr 8 12:01 tmp
bronski@tesla:~$ ls -la Shared/.write/
drwxrwxrwt 2 bronski emp 512 Apr 8 12:01 cur
drwxrwxrwt 2 bronski emp 512 Apr 8 12:01 new
drwxrwxrwt 2 bronski emp 512 Apr 8 12:01 tmp
Im nächsten Schritt legt man unter dem funktionalen Benutzer eine .procmailrc mit passenden Regeln an, um per [procmail][3] die Mails auf die unterschiedlichen Ordner zu verteilen. Wenn das soweit fertig ist, kann man die “Gruppenmailbox” freigeben.
Dazu legt man in dem Ordner, in dem die courier-Konfiguration liegt (bei mir ist das /opt/courier-imapd/etc
, es kann aber auch /etc/courier
oder /etc/cimap
sein), die Datei maildirshared
an. In dieser werden alle Verzeichnisse, die “shared folders” enthalten (also die, die man mittels maildirmake -S
angelegt hat), eingetragen. Im Format “nickname
Als Beispiel habe ich hier mal eine komplette Firmenstruktur mit Abteilungen angelegt:
1stLevelSupport /home/support/mailfolders/1stlevel
2ndLevelSupport /home/support/mailfolders/2ndlevel
3rdLevelSupport /home/support/mailfolders/3rdlevel
Entwicklung /home/developers/mailfolders/developers
Marketing /home/marketing/mailfolders/marketing
Management /home/management/mailfolders/management
Innerhalb dieser einzelnen Verzeichnisse liegen dann die abteilungseigenen “shared folders” (s.o., maildirmake -s group -f name folder
) wie beispielsweise Mitteilungen, Witze, Sport, Bowling, Planung, was auch immer.
Je nachdem bietet es sich an, diese Listen nur lesbar oder schreibbar zu machen. Ein Restart des IMAPd und in den Mailclients sollten die Gruppenordner auftauchen. Zumindest bei [Mail.app][4] und [Balsa][5] taten sie dies klaglos.
[mutt][6] kann auch per IMAP auf “shared folders” zugreifen, die Syntax ist dann folgendermassen:
c imap://adresse/shared.ordner.name
Das “ordner” in diesem Beispiel ist durch den in der Datei “maildirshared” angegebenen “nicknames” zu ersetzen und “name” durch den Namen der entsprechenden Mailbox innerhalb des Gruppenordners.
[1]: https://bronski.net/2004/04/07/cur-new-tmp/#comments “Axel fragt nach… [2]: http://www.inter7.com/courierimap.html “courier-IMAPd” [3]: http://www.procmail.org/ “procmail” [4]: http://www.apple.com/macosx/features/mail/ “Apple Mail” [5]: http://balsa.gnome.org/ “Balsa” [6]: http://www.mutt.org/ “mutt”