Vortrag CYRUS IMAP-Server Generell: POP3/IMAP

Transcrição

Vortrag CYRUS IMAP-Server Generell: POP3/IMAP
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 Postfix) 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
user.geeko.gesendet
user.geeko.vorlagen
user.geeko.papierkorb
(inbox)
(gesendet)
(vorlagen)
(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
- shadow
- sasl2db
(- sasldb
- kerberos
- PAM
(passwd)
(shadow)
(auxprop)
(sasldb)<- veraltete SASL-Version 1, nur Klartext-Passwörter!)
(kerberos_v4)
(pam)
Über ein entsprechend angepasstes PAM (pluggable authentication module) können weitere Mechanismen
eingebunden werden. Die meisten davon liegen aktuellen Distributionen bei.
-
pam_mysql
pam_pgsql
pam_krb5
pam-ldap
pam_radius
pam_smb
poldi
pam_blue
(Authentifizierung
(Authentifizierung
(Authentifizierung
(Authentifizierung
(Authentifizierung
(Authentifizierung
(Authentifizierung
(Authentifizierung
über
über
über
über
über
über
über
über
MySQL-Server)
Postgres SQL-Server)
Kerberos-Server)
LDAP-Server)
Radius-Server)
SAMBA-Server)
OpenPGP-Smartcards)
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 OnlineInterface „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
143
995
110
443
80
25
2000
3306
IMAP-TLS
IMAP
POP3-TLS
POP3
HTTPS
HTTP
SMTP
SIEVE
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>
localhost>
localhost>
localhost>
cm user.geeko
cm user.horst
cm user.paul
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
configdirectory
leer
defaultpartition
default
admins
leer
Eine leerzeichngetrennte LIste von Usern mit administrativen CyrusRechten
allowanonymous-login
no
Anmeldung ohne Benutzername/Passwort erlaubt
quotawarn
90
Auslastung in Prozent, bei der User eine Warung gesendet bekommt.
(Muss vom Mailclient unterstützt werden)
timeout
30
Zeit in Minuten, in der Sitzung inaktiv sein darf. Danach trennt der Server
die Verbindung.
autocreatequota
0
Zur Information:
So sieht eine default
imap.conf
Beschreibung
Verweis auf das Config-Verzeichnis /var/imap oder /var/lib/imap
Name der Standardpartiotion, auf der Mailboxen angelegt werden
Für jedes neue Postfach wird automatisch diese Quota (in kByte)
angewendet. Null bedeutet keine Quotas.
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: <unlimited>
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: <none>
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 (dbFormat). 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
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.index
cyrus.header
enthält den Namen des Verzeichnisses, von dem sich die Quota ableitet und eine Kopie der ACLs.
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.cache
enthält Daten darüber, wer wann zuletzt auf welche Mailbox zugegriffen hat, sowie Nachrichten, die
bereits betrachtet wurden.
cyrus.seen
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
listquota / lq
Zeigt die aktive Quota für eine Mailbox oder ein
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 eMail 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)
c
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 IMAPProtokol 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.

Documentos relacionados