Vortrag CYRUS IMAP-Server Peer Hartleben 05/2005

Generell:

Wenn Sie sich das erste Mal mit dem Cyrus POP/IMAP-Server beschäftigen und Recherchen im Internet anstellen werden Sie bemerken, dass Cyrus nicht gleich Cyrus ist. Unter diesem Namen gibt es eine ganze Reihe von Projekten die an der Carnegie Mellon Universität entwickelt werden. Dazu gehören unter Anderem Cyrus-SASL, Cyrus IMAP Aggregator – eine Art Loadbalancer für Mailserver und der Cyrus IMAPd - das Thema dieses Vortrags.

POP3/IMAP – was ist was?

POP3: Dient zur Übertragung der e-Mails vom Mailserver auf den lokalen Client. Dabei werden i.d.R. die e-Mails vom Server gelöscht.

IMAP (Internet Message Access Protocol): Hierbei arbeitet der Nutzer direkt auf dem Mailserver. Nach beendeter Netzwerkverbindung sind die Mails nur auf dem Server, nicht auf dem Client vorhanden.

Heute bieten moderne Mailclients immer mehr Mischformen an. Beim POP3-Abruf, kann man bestimmen, dass die Mails zusätzlich auf dem Server gespeichert bleiben sollen, und/oder erst nach einem bestimmten Zeitraum gelöscht werden. Ebenso gibt es seit einiger Zeit die Option „cached IMAP“. Hierbei funktioniert das ganze genau anders herum, die Mails werden auf dem Server bearbeitet, aber zusätzlich auf dem Client als lokale Kopie vorgehalten. Letzteres ist in fast allen Szenarien die Ideallösung.

Alle diese Möglichkeiten werden von modernen Mailservern unterstützt. Dazu gehört der Cyrus.

Quellen und Links:

- http://asg.web.cmu.edu/cyrus - http://www.web-cyradm.org/ - http://sourceforge.net/projects/cyrus-utils Konzept:

Die Funktionsweise, in Zusammenarbeit mit einem MTA (in diesem Beispiel ) folgt einer einfachen Struktur:

Postfix nimmt e-Mails an. Je nach Einstellung findet Postfix entsprechende Weiterleitungsregeln. Eine solche Regel besagt z.B., dass ankommende e-Mails direkt an Cyrus weitergereicht werden sollen. Cyrus nimmt diese Mails in Empfang und verteilt sie in seine entsprechenden Mailverzeichnisse, die sogenannten Userpostfächer. Die User können sich via POP§ oder IMAP am Cyrus anmelden und die e-Mails aus ihren Postfächern abholen.

Die Userverwaltung und die Mailverzeichnisse sind hierarchisch aufgebaut. Das betrifft auch die Zugriffsregelungen über Access-Control-Lists (ACL)und die Speicherplatzbeschränkungen über Quotas. Alles was an höherliegenden Verzeichnis-/Userebenen geändert wird, hat automatisch Auswirkungen auf darunterliegende Ebenen.

Als Beispiel nehmen wir den User geeko. Wird er eingerichtet, bekommt er automatisch das Verzeichnis „inbox“. Der User legt sich selbst noch die Unterverzeichnisse „gesendet“, „vorlagen“ und „papierkorb“ an. Das würde sich in der Cyrus-Folder-Struktur unter /var/spool/imap/ so wiederfinden: user.geeko (inbox) user.geeko.gesendet (gesendet) user.geeko.vorlagen (vorlagen) user.geeko.papierkorb (papierkorb)

Bekommt das Verzeichnis „user.geeko“ eine Quota-Beschränkung von 50 MB, würden davon auch die Verzeichnisse „gesendet“, „vorlagen“ und „papierkorb“ betroffen sein.

Cyrus speichert die e-Mails unterhalb der Nutzerverzeichnisse in einem eigenen Datenbankformat. Ist eine Mailbox angelegt, finden sich auf Dateiebene in deren Verzeichnis verschiedene zusätzliche Dateien. Diese enthalten u.A. die Mailboxdatenbank, Statusinformationen und einen Index zur performanteren Verwaltung der e-Mails auch bei großen Nachrichten und vielen Nutzern. Jede e-Mail wird in einer eigenen Datei gespeichert. Das hat den Vorteil, dass bei Problemen, z.B. durch einen Fehler im Dateisystem, nicht die komplette Mailbox zerstört wird, sondern im Ernstfall nur eine einzige Nachricht.

Mit dem Tool „cyrdump“ können diese Mailboxdatenbanken über stdout in eine Textdatei exportiert werden. Funktionen und Fähigkeiten des Cyrus Mailserver:

-Shared Folder / Shared Mailbox Über ACLs können einzelne Postfach-Ordner oder auch ganze Mailboxen für mehrere Benutzer oder die gesamte Öffentlichkeit freigegeben werden. Diese Ordner/Mailboxen lassen sich dann bequem per Mailclient abonnieren. Über diese ACLs können Sie auch explizite Rechte für einzelne Verzeichnisse oder ganze Mailboxen vergeben.

-Quotas Speicherplatzbeschränkungen können generell für alle neu anzulegenden Mailboxen oder für jede Mailbox und sogar für jedes Unterverzeichnis individuell angegeben werden. Dabei ist auch hier die Hierachie der Verzeichnisse zu beachten. Sie können also einem Unterverzeichnis nicht mehr Speicherplatz als dem darüberliegenden Verzeichnis zuordnen. Übrigens können User ab einem bestimmten Prozentsatz eine Quota-Warnung angezeigt bekommen. Dies geschieht allerdings über ein spezielles IMAP-Kommando und muss vom Mail-Client unterstützt werden.

-individuelle Partitionen für jede Mailbox Neu anzulegende Mailboxen können sowohl eine Standardpartition/Verzeichnis zugewiesen bekommen oder auch einen ganz individuellen Speicherort. Beim Cyrus ist dabei immer die Rede von einer „Mail-Partition“, egal ob es sich tatsächlich um eine Partition oder um ein Verzeichnis handelt.

-Authentifizierung Mailboxbenutzer werden über cyrus-sasl (simple authentication & security layer) authentifiziert. Die meisten Distributionen bringen diese Bibliothek mit und verwenden sie auch für andere Dienste. Die SASL-Bibliothek ist sehr vielseitig und beinhaltet zahlreiche Authentifizierungsmechanismen. Diese werden in der Config-Datei mit dem Wert „pwcheck_method“ angegeben. Die passenden Werte finden Sie in den Klammern hinter der jeweiligen Methode:

- passwd (passwd) - shadow (shadow) - sasl2db (auxprop) (- sasldb (sasldb)<- veraltete SASL-Version 1, nur Klartext-Passwörter!) - kerberos (kerberos_v4) - PAM (pam)

Über ein entsprechend angepasstes PAM (pluggable authentication module) können weitere Mechanismen eingebunden werden. Die meisten davon liegen aktuellen Distributionen bei.

- pam_mysql (Authentifizierung über MySQL-Server) - pam_pgsql (Authentifizierung über Postgres SQL-Server) - pam_krb5 (Authentifizierung über Kerberos-Server) - pam-ldap (Authentifizierung über LDAP-Server) - pam_radius (Authentifizierung über Radius-Server) - pam_smb (Authentifizierung über SAMBA-Server) - poldi (Authentifizierung über OpenPGP-Smartcards) - pam_blue (Authentifizierung über Bluetooth-Geräte)

Weiter Module bis hin zur Spracherkennung finden Sie unter Anderem hier: http://www.kernel.org/pub/linux/libs/pam/modules.html

Standardmäßig werden die Passwörter zwar im Klartext gespeichert, Cyrus erlaubt aber selbstverständlich auch die Verschlüsselung der Zugangsdaten. Folgende Mechanismen stehen zur Verfügung:

- DIGEST-MD5 - CRAM-MD5 -Sieve Mailfilter Über dieses Filtersystem können User ihre eigene Mailbox sehr detailliert konfigurieren. Sieve (als Online- Interface „websieve“) erlaubt u.A. folgende Einstellungen:

- Mailfilter zum Verschieben in andere Verzeichnisse oder zum Löschen von SPAM - Einrichten von Shared-Foldern - Einrichten einer Urlaubsbenachrichtigung/Autoresponder

Der Sieve Mailfilter wirkt sich direkt auf alle ankommenden Mails aus. Bekommt Cyrus eine Mail geliefert, „schaut“ er in die Sieve-Definitionen und sortiert die Mail entsprechend ein, antwortet darauf, oder löscht sie.

-Virtuelle Domains Cyrus ist von Haus aus in der Lage Mailboxen für virtuelle Domains zu verwalten. Die Funktionsweise ist relativ einfach. Die Postfächer der User werden einfach inklusive des Domainnamens angelegt. Jeder User existiert dabei unterhalb einer (seiner) Domain mit einem voll qualifizierten Domainnamen. Zusätzlich können Domain-Administratoren eingerichtet werden, die wiederum nur Zugriff auf Mailboxen unterhalb ihrer Domain haben. Aktiviert wird diese Funktion in /etc/imapd.conf: admins: admin [email protected] [email protected] virtualdomains: yes defaultdomain: meinedomain.org

Im Klartext: Der Benutzer „admin“ hat vollen Zugriff auf alle Postfächer. Die Benutzer „horst“ und „paul“ nur auf ihre eigenen Domainpostfächer. Somit können ganz einfach beliebig viele Administratoren eingesetzt werden.

Konfiguration:

Um einen Cyrus-Mailserver betreiben zu können, sollten folgende Anwendungen installiert sein:

- Cyrus SASL Darüber authentifizieren sich die Nutzer an unserem Mailserver.

- OpenSSL Zur verschlüsselten Übertragung der Benutzerdaten und e-Mails per TLS/SSL.

- MySQL / LDAP / BerkleyDB Je nach Bedarf die entsprechende Datenbank für die Nutzerverwaltung. Alternativ genügt auch die Verwaltung über die Unix-Systemaccounts.

- Postfix Mail Transfer Agent (MTA), für den Empfang/Versand der e-Mails. Alternativ lassen sich auch anderen MTAs anbinden.

- Cyrus IMAPd Der IMAP/POP3 Mailserver. Aktuelle Version ist 2.2. Die wichtigsten Config-Dateien:

- /etc/cyrus.conf - /etc/imapd.conf - /etc/postfix/main.cf (oder die entsprechende Config-Datei des jeweiligen MTA)

Die wichtigsten Ports:

- 993 IMAP-TLS - 143 IMAP - 995 POP3-TLS - 110 POP3 - 443 HTTPS - 80 HTTP - 25 SMTP - 2000 SIEVE - 3306 MySQL

Im ersten Schritt muss Sie die Zusammenarbeit zwischen Postfix und dem IMAPd sichergestellt werden. Schließlich wissen nach der Installation Postfix und Cyrus noch nichts von einander. Letztendlich soll aber Postfix seine e-Mails an den Cyrus zustellen. Der einfachste und zuverlässigste Weg führt über einen LMTP-Socket, den beide Programme zur Kommunikation benutzen. Ein Socket ist eine nur zur Laufzeit der Programme existente Datei, über die in diesem Fall Postfix seine angenommenen Mails an den Cyrus weiterreicht. Werden die Dienste beendet, verschwindet auch der Socket.

Hinweis: Um die Zusammenarbeit mit älteren MTAs, die noch kein LMTP können, zu gewährleisten, hält Cyrus zusätzlich noch das Modul “delivery“ vor. Dieses Modul „unterhält“ sich allerdings mit Cyrus auch wieder über einen Socket.

Um den LMTP-Socket aufzubauen, müssen Sie zuerst die entsprechenden Config-Dateien beider Dienste anpassen:

Cyrus: Dem Mailserver muss zuerst „erklärt“ werden, wo sich der Socket befindet, über den beide Programme kommunizieren sollen. Tragen Sie den entprechenden Wert in /etc/cyrus.conf ein:

lmtpunix cmd=“lmtpd“ listen=“/var/spool/postfix/public/lmtp“ prefork=1

Wie Sie sehen, wird hier der vollständige Pfad angegeben. Der Wert hinter „prefork“ gibt die Anzahl der vorgehaltenen Cyrus-Prozesse an und kann auf den Standardeinstellungen belassen werden. Sollte der Mailserver stark frequentiert sein und nur träge reagieren, kann hier der Wert erhöht werden. Dabei sollten Sie ggf. auch den Arbeitsspeicher erweitern. Postfix: Hier gibt es zwei Varianten.

1. Sie verwenden keine lokalen (System-)Postfächer/Mailaccounts (das schließt auch Mails an den root-Account ein). In diesem Fall können Sie in /etc/postfix/main.cf den Wert

mailbox_transport = lmtp:unix:public/lmtp setzen. Dann werden alle lokalen Mails an Cyrus zugestellt.

2. Sie wollen für jede Domain individuelle Zustellwege konfigurieren. In diesem Fall definieren Sie den Weg über die Datei /etc/postfix/transport, indem Sie hier folgenden Wert eintragen:

empfängerdomain lmtp:unix:public/lmtp

Anschließend [postmap transport] nicht vergessen, damit die Textdatei in eine für Postfix lesbare Datenbank umgewandelt wird.

Nach einem Neustart beider Dienste ist die Kommunikation nun über den LMTP-Socket hergestellt.

Authentifikation / Mailboxen anlegen

Jetzt sollten Sie sich überlegen auf welchem Weg Ihre Benutzer authentifiziert werden sollen. Eine einfache Variante, mit der die Benutzer von den Systemaccounts getrennt werden, ist sasldb2. Hier wird eine extra Datenbank mit den Benutzern und Passwörtern angelegt.

Zuerst ist in /etc/imapd.conf die Authentifizierungsmethode zu setzen:

sasl_pwcheck_method: auxprop

Jetzt wird der Hauptbenutzer angelegt:

saslpasswd 2 cyrus Passwort: supergeheim

chown cyrus:mail /etc/sasldb2

Cyrus bringt auch ein Programm zur Konfiguration der Mailboxen mit. Damit legen Sie jetzt die entsprechenden Mailboxen und Benutzer an:

cyradm –auth login localhost –user cyrus IMAP Password: supergeheim

localhost> cm user.geeko localhost> cm user.horst localhost> cm user.paul localhost> exit

Die soeben angelegten Postfächer finden Sie unter /var/spool/imap/ Damit sich die Nutzer authentifizieren können, müssen jetzt die Einträge für Benutzername/Passwort in der sasldb2 gesetzt werden:

saslpasswd2 geeko Passwort: geheim

saslpasswd2 horst Passwort: geheim

saspasswd2 paul Password: geheim

Fertig. Auf unserem System existieren jetzt 3 Mailboxen und die dazugehörigen Benutzeraccounts. Vorausgesetzt Postfix wurde korrekt Konfiguriert, haben wir jetzt einen funktionierenden Mailserver mit POP und IMAP-Dienst. Mit einem Mailclient können die Postfächer abgerufen werden. Jetzt zu den oben angesprochenen Besonderheiten und dem „Feintuning“ unseres Cyrus.

Cyrus und MySQL

Ach wenn viele annehmen, dass es nicht funktioniert: Cyrus kann seine Authentifikationsdaten auch aus einer MySQL-Datenbank abfragen. Dafür muss das entsprechende PAM-Modul „pam_mysql“ installiert sein. Ist das nicht der Fall, wird etwas Handarbeit notwendig. Folgende Zeilen müssen Sie in die /etc/pam.d/imap einzufügen:

auth sufficient pam_mysql.so user=mail passwd=secret host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time

auth sufficient pam_unix_auth.so

account required pam_mysql.so user=mail passwd=secret host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time

account sufficient pam_unix_acct.so

Die Einträge pam_unix_auth.so und pam_unix_acct.so werden nur benötigt, wenn Sie von WU-IMAP nach Cyrus migrieren wollen. Dadurch ist es möglich sowohl das alte Unix- als auch das neue MySQL-basierte Passwort abzufragen.

Sollen auch andere von Cyrus unterstützte Dienste ihre Informationen aus der MySQL-Datenbank holen, kopieren Sie einfach diese Konfigurationsdatei und benennen Sie sie um:

cp /etc/pam.d/imap /etc/pam.d/pop cp /etc/pam.d/imap /etc/pam.d/sieve cp /etc/pam.d/imap /etc/pam.d/smtp Shared Folder / ACL

Mit Cyrus können komfortabel gemeinsame Postfächer verwaltet werden. Auf diese sogenannten „Shared Folder“ bekommen mehrere User Zugriff. Geregelt wird das über ACLs (Access Control Lists). Darin wird festgelegt welcher Benutzer welche Rechte an welchem Verzeichnis hat. Per Default hat jeder User ausschließlich Zugriff auf sein eigenes Mailverzeichnis.

Um diese Einstellungen an unserem IMAP-Server vorzunehmen bemühen wir wieder das Tool cyradm. Als Beispiel soll das Unterverzeichnis „webnews“ der Mailbox von geeko für den Benutzer paul zum Listen und Lesen freigegeben werden.

cyradm –auth login localhost –user cyrus IMAP Password: supergeheim

localhost> setaclmailbox user.geeko.webnews paul lr localhost> exit

Jetzt kann paul das Verzeichnis von geeko abonnieren und darin lesen.

Ebenso können Unterverzeichnisse eines Postfaches, oder ganze Mailboxen für eine Gruppe von Benutzern freigegeben werden. Allerdings müssen hier zuvor Gruppen angelegt und die entsprechenden Benutzer den Gruppen zugeordnet werden. Das ist in einer datenbankbasierten Authentifizierungsmethode mit LDAP oder MySQL problemlos möglich, ebenso über die Unix Systemaccounts. Da sasldb2 die Funktion der Gruppenverwaltung nicht bietet, müssen Sie in diesem Fall zusätzlich die Unix-Systemaccounts bemühen und hier die Benutzer doppelt abbilden, Gruppen anlegen und die Benutzer den gewünschten Gruppen zuordnen. Vorausgesetzt es wurde die Gruppe „sharedreader“ angelegt und ihr sind die Benutzer geeko, paul und horst zugeordnet, wird eine komplette Mailbox wie folgt freigegeben:

cyradm –auth login localhost –user cyrus IMAP Password: supergeheim

localhost> setaclmailbox user.geeko group:sharedreader lr localhost> exit

Quotas/Partitionierung

Jeder Administrator sollte bestrebt sein, sein System so gut es geht gegen Ausfälle zu sichern. Dazu gehört auch den verfügbaren Speicherplatz unter Kontrolle zu halten. Immer mehr User gehen dazu über ihre Mails auf dem Server zu belassen, dank steigender Bandbreite werden auch Mailanhänge immer größer. Genügten früher noch 10 Megabyte pro Postfach, ist es heute ein Leichtes Gigabyte große Postfächer zu füllen. Deshalb ist es mehr denn je notwendig per Quotas die Postfachgröße zu begrenzen. Das lässt zich zum einen über die bekannten Quotas auf Dateisystem-Basis regeln. Diese müssen Sie von Anfang an für eine komplette Festplatten-Partition fest legen.

Cyrus bringt ein eigenes Quota-System mit, welches sich auf die Cyrus-eigenen Postfächer/Partitionen beschränkt und unabhängig vom Dateisystem funktioniert. Übrigens versteht Cyrus unter einer „Partition“ lediglich einen Speicherort für eine Mailbox. Das kann entweder eine physikalische Partition, als auch ein Verzeichnis oder eine andere Festplatte sein. Ist eine Platte voll, kann so ganz bequem ein weiteres Speichermedium eingebunden werden.

Diese Einstellungen werden in der Datei /etc/imapd.conf vorgenommen. Hier eine Liste mit den wichtigsten Schaltern, zusätzlichen Funktionen und ihrer Bedeutung: Option Default Beschreibung configdirectory leer Verweis auf das Config-Verzeichnis /var/imap oder /var/lib/imap defaultpartition default Name der Standardpartiotion, auf der Mailboxen angelegt werden Eine leerzeichngetrennte LIste von Usern mit administrativen Cyrus- admins leer Rechten allowanonymous-login no Anmeldung ohne Benutzername/Passwort erlaubt Auslastung in Prozent, bei der User eine Warung gesendet bekommt. quotawarn 90 (Muss vom Mailclient unterstützt werden) Zeit in Minuten, in der Sitzung inaktiv sein darf. Danach trennt der Server timeout 30 die Verbindung. Für jedes neue Postfach wird automatisch diese Quota (in kByte) autocreatequota 0 angewendet. Null bedeutet keine Quotas.

Zur Information: So sieht eine default imap.conf aus:

admins: cyrus allowanonymouslogin: no allowplaintext= yes sas_mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 servername: server3 autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost #sasl_pwcheck_method: auxprop sasl_pwcheck_method: saslauthd #sasl_pwcheck_method: pwcheck #sasl_pwcheck_method: pam #sasl_pwcheck_method: shadow lmtp_overquota_perm_failure: no

In der default-Datei sind nur die wichtigsten Schalter vorhanden. Wenn Sie in die Dokumentation schauen, werden Sie auf weitere interessante Einstellungen treffen, die ebenfalls in dieser Datei definiert werden können: maxmessagesize: Legt die maximale größe der eingehenden Nachrichten fest. Wird der Wert überschritten, verweigert der lmtpd die Annahme der Mail. postmaster: postmaster Hier wird der Username eingetragen, der als Absender von IMAP-Systemmeldungen erscheint. hashimapspool: false Ein Sicherheitsfeature mit dem zusätzlich zu den Config-Directories auch die Verzeichnisse mit den Mailboxen einen HASH-Wert bekommen. tls_cert_file: Hier wird die Datei angegeben, die das Zertifikat für alle Services (imap, pop3, lmtp, sieve) enthält.

Eine ausführliche Liste mit allen Schaltern finden Sie im Manual imapd.conf(5).

Weitere Config-Dateien:

Der Cyrus-Mailserver lässt sich noch weiter auf die persönlichen Bedürfnisse einstellen. Dazu gibt es eine ganze Reihe von kleinen Config-Dateien mit großer Wirkung.

/var/lib/imap/msg/shutdown Ist diese Datei vorhanden, sendet der Imapd die erste Zeile dieser Datei als IMAP ALERT-Nachricht an den Client und beendet die Verbindung. Es können keine neuen Verbindungen aufgebaut werden, bis die Datei gelöscht wurde. Diese Funktion wird zum Beispiel bei Wartungsarbeiten benutzt.

/var/lib/imap/msg/motd Ist diese Datei vorhanden, sendet der Imapd die erste Zeile dieser Textdatei bei jedem Login. Hiermit kann man z.B. auf die Regeln zur Benutzung des Emailsystems hinweisen. (Funktioniert nicht mit jedem Client).

/var/lib/imap/mailboxes Diese Datei beinhaltet Informationen der einzelnen angelegten IMAP-Folder. Bis zur Version 1.6.22 handelte es sich um eine Klartextdatei. Ab 2.0 wurde diese ersetzt durch eine transaktionsorientierte Datenbankdatei (db- Format). Diese Datei wird sehr häufig aktualisiert und kann mit wachsender Benutzerzahl stark anwachsen.

/var/lib/imap/log Innerhalb dieses Verzeichnises können Sitzungsinformationen und Telemetriedaten in einem Logfile angelegt werden. Der Name der Ausgabedatei ist die Prozessnummer des Servers.

/var/lib/imap/quota Hier werden die Quotas eingetragen und zwar für jedes Wurzelverzeichnis.

Um die Performance zu steigern, legt Cyrus zu jeder Mailbox automatisch folgende Dateien an: cyrus.index cyrus.header cyrus.cache cyrus.seen cyrus.index enthält einen Header mit Informationen über die komplette Mailbox sowie ein Feld pro Nachricht. Außerdem sind Angaben über die zuletzt hinzugefügten Nachrichten, den Datumsheader und die Größe der Nachricht enthalten. cyrus.header enthält den Namen des Verzeichnisses, von dem sich die Quota ableitet und eine Kopie der ACLs. cyrus.cache ist eine reine Performance Datei, die Header jeder Nachricht die ein Client abfragt zwischenspeichert. So muss der Server nicht ständig die Nachrichten nach Headern durchsuchen. Einige weitere Daten, wie Zähler etc. werden ebenfalls gespeichert. cyrus.seen enthält Daten darüber, wer wann zuletzt auf welche Mailbox zugegriffen hat, sowie Nachrichten, die bereits betrachtet wurden. Die Steuerbefehle für cyradm:

Wie bereits kurz besprochen, ist dieses Tool eines der wichtigsten Hilfsmittel zur Administration des Cyrus. Mit folgenden Befehlen lassen sich weitere Einstellungen vornehmen:

Befehl / Kurzform Beschreibung listmailbox / lm Gibt die Namen alles Mailboxen aus. createmailbox / cm Legt eine Top-Level-Mailbox an. deletemailbox / dm Löscht eine Mailbox rekrusive. renamemailbox / renm Benennt eine Mailbox um setaclmailbox / sam Fügt einer Mailbox-ACL Einträge hinzu deleteaclmailbox / dam Entfernt Einträge aus der Mailbox-ACL listaclmailbox / lam Zeigt alle aktiven ACL einer Mailbox setquota / sq Setzt eine Quota für eine Mailbox oder ein Unterelement Zeigt die aktive Quota für eine Mailbox oder ein listquota / lq Unterelement listquotaroot / lqr Zeigt alle übergeordneten Quotas an

Die ACL Rechtekürzel

Die folgenden Schalter stehen für die Kommandos „setaclmailbox“ und „deleteaclmailbox“ zur Verfügung:

Rechtekürzel Beschreibung l Darf Namen einer Mailbox ermitteln, aber nicht den Inhalt sehen r Darf den Inhalt einer Mailbox einsehen s Der Status einer bleibt erhalten. Der User kann dies nicht ändern! w Darf schreiben, also Flags etc. neu setzen. i Darf Nachricht einfügen, verschieben, kopieren p Darf Nachricht an Mailbox senden (sysadmin+cyrushelp) Anlegen einer Mailbox unterhalb des Top-Levels d Darf Nachricht oder Mailbox löschen a Darf administrieren. Z.B. Bereichsadmin darf ACL setzen Zubehör:

Auf sourceforge.net sind eine Reihe von nützlichen Werkzeugen für den täglichen Umgang mit Cyrus erhältlich. Sie finden Sie als Paketsammlung in drei Kategorien:

- cyrus-utils - maintenance - sieve

Diese beinhalten u.A. folgende Tools: web-cyradm. Er stellt eine Weboberfläche bereit, womit der IMAP-Server sehr komfortabel bearbeitet werden kannn. Quelle: http://www.web-cyradm.org/ saslpoppasswd Ist ein kleines Werkzeug, mit dem Userpasswörter in der salsdb2 über ein Webformular geändert werden können.

Imapmigrate Wurde ursprünglich geschrieben um IMAP-Mailboxen anderer Mailserver nach Cyrus zu migrieren. Es arbeitet jedoch auch mit einer Vielzahl anderer Mailserver zusammen. Dieses Tool liest Mailboxen über das IMAP- Protokol aus und speist diese Informationen in den neuen Mailserver wieder ein.

Imapsync Erledigt das gleiche wie imapmigrate und kann als Alternative verwendet werden.

Websieve Bietet eine Weboberfläche, mit der Mailfilter, Weiterleitungen und Abwesenheitsbenachrichtigungen eingerichtet werden können.

Vfilter Stellt ein webbasiertes Mailfilter-Interface zur Verfügung und ist eine Alternative zm SIEVE Mailfilter.

Cyrus2courier Wie der Name schon sagt kann man damit Cyrus-Mailboxen in das für den Courier lesbare Format umwandeln.