Inhaltsverzeichnis
Dovecot CentOS 6
Diese Dokumentation ist nach dem Kurs: Dovecot bei www.heinlein-support.de - Peer Heinlein entstanden. Hier noch einmal meinen Dank für die Informationen und das ☛ Buch: Dovecot ☚ |
Dovecot ist ein Open-Source-IMAP-und POP3-E-Mail-Server für Linux bzw. UNIX-ähnlichen Systeme, entwickelt mit dem Hauptaugenmerk auf Sicherheit. Dovecot ist eine ausgezeichnete Wahl für kleine und große Installationen. Dovecot ist schnell und einfach zu installieren, erfordert keine besonderen Voraussetzungen und ist Ressourcenschonend.
Dovecot wird von Timo Sirainen entwickelt.
Beschreibung | Externer Link |
---|---|
Homepage | http://dovecot.org |
Dokumentation | http://dovecot.org/documentation.html |
Wiki Dovecot2 | http://wiki2.dovecot.org/ |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Vorbereitungen
Bevor mit der Installation, Konfiguration und der Inbetriebnahme von Dovecot begonnen werden kann, soll hier kurz dargestellt werden, welche Art von Einsatz von Dovecot hier realisiert werden soll.
Vorbereitung - Einsatzzweck
Der nachfolgend beschrieben Einsatzzweck, soll einen Dovecot in eher kleinerer Ausführung darstellen, was jedoch nicht bedeutet, das die nachfolgend beschriebene Installation und Konfiguration, nicht auch für eine
- Anzahl von mehreren hundert Benutzern mit bis zu einem
- Datenvolumen von 3 TB Plattenspeicherplatz ermöglichen würde.
Größere Installationen würden jedoch ein etwas anderes, abern nicht grundlegend anderes Vorgehen benötigen!
Vorbereitung - Mailbox-Format
Eine der Entscheidungen sollte sein, welches „Ablagesystem“ Mailbox-Format zum Einsatz kommen soll.
Grundsätzlich gibt es drei sehr bekannte und häufig benutzte „Ablagesysteme“ Mailbox-Formate:
- MailDir - siehe auch, externe Links Maildir, Wikipedia - Maildir
- ✔ jede e-Mail liegt in einer eigenen Datei direkt im Dateisystem
- ✔ robust, einfach wartbar da nur Ordnerstruktur im Dateisystem
- ✔ keine Datenbank im Hintergrund, keine Dataisystem-Locking-Mechanismen, NFS-fähig
- ✘ viele kleine Dateien, aufwendiger beim Backup (Sicherung) der Dateien
- ☛ Einsatz bis ca. 3 TB empfohlen
- mbox - siehe auch, externe Links Mbox, Wikipedia - Mbox
- ✔ schnelleres Backup (Sicherung) da nur wenige Dateien
- ✘ Dateisystem-Locking-Mechanismen werden benötigt
- ✘ höhere I/O-Last beim löschen von e-Mails aus der einen großen Datei
- ✘ Risiko, da alle e-Mails in einer großen Datei, direkt im Dateisystem liegen
- ☛ Einsatz nicht mehr zu empfehlen
- (m)dbox - siehe auch, externer Link (m)dbox
- ✔ schnelleres Backup (Sicherung) da nur wenige Dateien
- ✔ Verwendung vin aktuelle zwei Speicherorten (ALT-Storage) möglich
- ✔ optimiertes Dovecot eigenes Format für größere Installationen
- ✘ Verwendung einer eingebetteten, internen Datenbank (Wikipedia - Berkely DB) im Hintergrund
- ☛ Administration nur noch über
doveadm
-Befehle möglich = höheres „KnowHow“ erforderlich - ☛ bei der Sicherung (Backup) muss die Datenbank und die Abhängigkeit zu dieser berücksichtigt werden
- ☛ Einsatz ab ca. 3 TB empfohlen
Vorbereitung - Authentifizierung
Eine weitere der Entscheidungen sollte ebenfalls sein, wie sich die Benutzer authentifizieren sollen
Die Authentifizierung bei Dovecot wird als, und soll auch hier als
passdb
Konfiguration beschrieben werden.
Mögliche Verfahren sind hier:
- PAM (
/etc/passwd
) - passwd-file (
/etc/dovecot/users
) - für Benutzer ohne Login-shell
Möglichkeit - LDAP
- ActiveDirectory
- SQL
um nur einige zu nennen.
Eine weitere Überlegung sollte sein, wie die Kennung für eine Anmeldung an Dovecot aussehen soll.
Nachfolgende zwei Lösungswege sollten in die Überlegungen mit einbezogen werden, beide haben Vor- und Nachteile:
- Kennung = e-Mail-Adresse (localpart@domain)
- Kennung = username
Vorbereitung - Kontodatenablage
Eine weitere der Entscheidungen sollte ebenfalls sein, wo ggf. weitere Kontodaten / benutzerspezifische Einstellungen für Dovecot hinterlegt werden können.
Die Hinterlegung von Kontodaten / benutzerspezifische Einstellungen wird als, und soll auch hier als
userdb
Konfiguration beschrieben werden.
Mögliche Verfahren sind hier:
- passwd-file (
/etc/dovecot/users
) - für Benutzer ohne Login-shell
Möglichkeit - LDAP
- ActiveDirectory
- SQL
um nur einige zu nennen.
Beispiele für die Hinterlegung von Kontodaten / benutzerspezifische Einstellungen in Dovecot wären z.B.
- benutzerspezifische Quotas
- abweichende Login-Namen zur e-Mail-Adresse
- Pfadspezifikationen für die e-Mail-Verzeichnisse
Vorbereitung - IMAP-Namensraum
Der IMAP-Namensraum legt fest, welche der beiden Varianten der Darstellung von Ordnern im Hierarchiebaum anzuwenden ist. Die beiden Möglichkeiten sind.
- dürfen Ordner in der gleichen Hierarchieebene wie die INBOX vorhanden sein
- dürfen Ordner nur unterhalb der Hierarchieebene wie die INBOX vorhanden sein
Des weiteren ist festzulegen, welches Trennzeichnen für Trennung der einzelnen Hierarchien voneinander verwendet werden soll. Historisch bedingt ist das der Punkt (.). Oder sollte ggf., wenn Punkte z.B. in den e-Mail-Adressen erlaubt sind, dies der Schrägstrich (/) sein.
Vorbereitung - Ordner-Prefix
Des weiteren ist festzulegen, welcher Ordner-Prefix für Trennung der einzelnen Hierarchien voneinander verwendet werden soll. Historisch bedingt ist das der Punkt (.). Oder sollte ggf., wenn Punkte z.B. in den e-Mail-Adressen erlaubt sind, dies der Schrägstrich (/) sein.
Festzulegen ist also, welche der beiden nachfolgenden Varianten gewählt werden soll.
- INBOX, INBOX.Unterordner, INBOX.Unterordner.Unterordner
- INBOX, INBOX\/Unterordner, INBOX\/Unterordner\/Unterordner
Installation - Allgemein
Jede ernst zunehmende Linux-Distribution sollte ein vorkonfiguriertes Dovecot-Paket mit sich bringen. Deswegen ist eine Installation auch unter CentOS eine Sache des Paket-Managers yum
.
Zur Installation eines Dovecot-Open-Source-IMAP-und POP3-E-Mail-Servers wird nachfolgendes Paket benötigt:
Wer die neuste Version des Dovecot-Open-Source-IMAP-und POP3-E-Mail-Servers als rpm
-Paket installieren möchte, kann unter nachfolgenden externen Links, diese herunterladen:
Installation - ATrpms
Bevor die Installation von Dovecot unter Zuhilfenahme des ATrpms-Repositories erfolgen kann, müssen nachfolgende Repositories zunächst in CentOS eingebunden werden, was unter nachfolgendem internen Link beschrieben ist:
Dies ist erforderlich, da bei Verwendung des ATrpms-Repositories folgende Abhängigkeiten bestehen:
/etc/yum.repos.d/atrpms-testing.repo
Falls das ATrpms-Repository wie beschrieben eingebunden wurde, ist es aktuell erforderlich den ATrpms-Repository-Zweig
atrpms-testing
zu aktivieren.
Dies wird in der Konfigurationsdatei
/etc/yum.repos.d/atrpms-testing.repo
durch nachfolgende Änderung innerhalb dieser Konfigurationsdatei erreicht (nur relevanter Ausschnitt):
[atrpms-testing] name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms testing failovermethod=priority baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing # Tachtler # default: enabled=0 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-atrpms priority=30 ...
/etc/yum.repos.d/CentOS-Base.repo
Zusätzlich müssen noch, falls wie beschrieben priority protection zum Einsatz kommt und es sowohl im CentOS-Base-Repository als auch im ATrpms-Testing-Repository Dovecot-Pakete gibt und durch die priority protection die CentOS-Base-Repository Vorrang hätten, hier die Dovecot-Pakete vom Vorrang ausgeschlossen werden.
Dazu muss nachfolgende Ergänzung in der Konfigurationsdatei
/etc/yum.repos.d/CentOS-Base.repo
durchgeführt werden (nur relevanter Ausschnitt):
... [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=1 exclude=dovecot #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 priority=1 exclude=dovecot ...
/etc/yum.repos.d/epel.repo
WICHTIG - Dies ist NUR erforderlich, wenn das
- EPEL-Repository (priority=20)
Vorrang, VOR dem
- ATrpms-Stable-Repository (priority=30)
hat !!!
Zusätzlich müssen noch, falls wie beschrieben priority protection zum Einsatz kommt und es sowohl im EPEL-Repository als auch im ATrpms-Stable-Repository Dovecot-Pakete gibt und durch die priority protection die EPEL-Repository Vorrang hätten, hier die Dovecot-Pakete vom Vorrang ausgeschlossen werden.
Dazu muss nachfolgende Ergänzung in der Konfigurationsdatei
/etc/yum.repos.d/epel.repo
durchgeführt werden (nur relevanter Ausschnitt):
... [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 priority=20 exclude=perl-JSON-XS ...
ATrpms yum Test
Nachfolgender Befehl löscht die temporär gespeicherten Informationen über die Repository-Daten in yum
:
# yum clean all Loaded plugins: priorities Cleaning repos: atrpms atrpms-testing base epel extras rpmforge updates Cleaning up Everything
Anschließend kann durch nachfolgenden Befehl überprüft werden, ob das Dovecot-Paket aus dem ATrpms-Testing-Repository bevorzugt werden würde:
# yum list dovecot Loaded plugins: priorities atrpms | 3.5 kB 00:00 atrpms/primary_db | 1.7 MB 00:00 atrpms-testing | 3.5 kB 00:00 atrpms-testing/primary_db | 202 kB 00:00 base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:00 cr | 2.9 kB 00:00 cr/primary_db | 1.2 kB 00:00 epel | 4.2 kB 00:00 epel/primary_db | 6.0 MB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 19 kB 00:00 rpmforge | 1.9 kB 00:00 rpmforge/primary_db | 2.7 MB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 2.1 MB 00:00 2073 packages excluded due to repository priority protections Available Packages dovecot.x86_64 1:2.2.10-1_14.el6 atrpms-testing
Pakete installieren
Mit nachfolgendem Befehl, wird das Pakete dovecot
installiert:
# yum install dovecot Loaded plugins: priorities 2070 packages excluded due to repository priority protections Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package dovecot.x86_64 1:2.2.10-1_14.el6 will be installed --> Processing Dependency: perl(JSON::XS) for package: 1:dovecot-2.2.10-1_14.el6.x86_64 --> Running transaction check ---> Package perl-JSON-XS.x86_64 1:2.33-1.99.el6 will be installed --> Processing Dependency: perl(common::sense) for package: 1:perl-JSON-XS-2.33-1.99.el6.x86_64 --> Running transaction check ---> Package perl-common-sense.noarch 0:3.5-1.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: dovecot x86_64 1:2.2.10-1_14.el6 atrpms-testing 2.8 M Installing for dependencies: perl-JSON-XS x86_64 1:2.33-1.99.el6 atrpms 96 k perl-common-sense noarch 3.5-1.el6 epel 26 k Transaction Summary ================================================================================ Install 3 Package(s) Total download size: 2.9 M Installed size: 9.0 M Is this ok [y/N]: y Downloading Packages: (1/3): dovecot-2.2.10-1_14.el6.x86_64.rpm | 2.8 MB 00:00 (2/3): perl-JSON-XS-2.33-1.99.el6.x86_64.rpm | 96 kB 00:00 (3/3): perl-common-sense-3.5-1.el6.noarch.rpm | 26 kB 00:00 -------------------------------------------------------------------------------- Total 19 MB/s | 2.9 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : perl-common-sense-3.5-1.el6.noarch 1/3 Installing : 1:perl-JSON-XS-2.33-1.99.el6.x86_64 2/3 Installing : 1:dovecot-2.2.10-1_14.el6.x86_64 3/3 Verifying : 1:perl-JSON-XS-2.33-1.99.el6.x86_64 1/3 Verifying : perl-common-sense-3.5-1.el6.noarch 2/3 Verifying : 1:dovecot-2.2.10-1_14.el6.x86_64 3/3 Installed: dovecot.x86_64 1:2.2.10-1_14.el6 Dependency Installed: perl-JSON-XS.x86_64 1:2.33-1.99.el6 perl-common-sense.noarch 0:3.5-1.el6 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket dovecot
installiert wurden.
# rpm -qil dovecot Name : dovecot Relocations: (not relocatable) Version : 2.2.10 Vendor: ATrpms.net Release : 1_14.el6 Build Date: Mon 06 Jan 2014 03:51:28 AM CET Install Date: Thu 13 Mar 2014 05:42:59 PM CET Build Host: flocki.atrpms.net Group : System Environment/Daemons Source RPM: dovecot-2.2.10-1_14.el6.src.rpm Size : 9150006 License: MIT Signature : DSA/SHA1, Mon 06 Jan 2014 03:51:37 AM CET, Key ID 508ce5e666534c2b Packager : ATrpms <http://ATrpms.net/> URL : http://www.dovecot.org/ Summary : Dovecot Secure imap server Description : Dovecot is an IMAP server for Linux/UNIX-like systems, written with security primarily in mind. It also contains a small POP3 server. It supports mail in either of maildir or mbox formats. /etc/dovecot /etc/dovecot/conf.d /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-director.conf /etc/dovecot/conf.d/10-logging.conf /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/15-lda.conf /etc/dovecot/conf.d/15-mailboxes.conf /etc/dovecot/conf.d/20-imap.conf /etc/dovecot/conf.d/20-lmtp.conf /etc/dovecot/conf.d/20-pop3.conf /etc/dovecot/conf.d/90-acl.conf /etc/dovecot/conf.d/90-plugin.conf /etc/dovecot/conf.d/90-quota.conf /etc/dovecot/conf.d/auth-checkpassword.conf.ext /etc/dovecot/conf.d/auth-deny.conf.ext /etc/dovecot/conf.d/auth-dict.conf.ext /etc/dovecot/conf.d/auth-ldap.conf.ext /etc/dovecot/conf.d/auth-master.conf.ext /etc/dovecot/conf.d/auth-passwdfile.conf.ext /etc/dovecot/conf.d/auth-sql.conf.ext /etc/dovecot/conf.d/auth-static.conf.ext /etc/dovecot/conf.d/auth-system.conf.ext /etc/dovecot/conf.d/auth-vpopmail.conf.ext /etc/dovecot/dovecot.conf /etc/logrotate.d/dovecot /etc/pam.d/dovecot /etc/pki/dovecot /etc/pki/dovecot/certs /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/dovecot-openssl.cnf /etc/pki/dovecot/private /etc/pki/dovecot/private/dovecot.pem /etc/rc.d/init.d/dovecot /etc/sysconfig/dovecot /usr/bin/doveadm /usr/bin/doveconf /usr/bin/dsync /usr/lib64/dovecot /usr/lib64/dovecot/auth /usr/lib64/dovecot/auth/libauthdb_imap.la /usr/lib64/dovecot/auth/libauthdb_imap.so /usr/lib64/dovecot/auth/libauthdb_ldap.la /usr/lib64/dovecot/auth/libauthdb_ldap.so /usr/lib64/dovecot/auth/libdriver_mysql.so /usr/lib64/dovecot/auth/libdriver_pgsql.so /usr/lib64/dovecot/auth/libdriver_sqlite.so /usr/lib64/dovecot/auth/libmech_gssapi.la /usr/lib64/dovecot/auth/libmech_gssapi.so /usr/lib64/dovecot/dict /usr/lib64/dovecot/dict/libdriver_mysql.so /usr/lib64/dovecot/dict/libdriver_pgsql.so /usr/lib64/dovecot/dict/libdriver_sqlite.so /usr/lib64/dovecot/doveadm /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.la /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.la /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.la /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.la /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so /usr/lib64/dovecot/lib01_acl_plugin.so /usr/lib64/dovecot/lib02_imap_acl_plugin.so /usr/lib64/dovecot/lib02_lazy_expunge_plugin.so /usr/lib64/dovecot/lib05_pop3_migration_plugin.so /usr/lib64/dovecot/lib05_snarf_plugin.so /usr/lib64/dovecot/lib10_mail_filter_plugin.so /usr/lib64/dovecot/lib10_quota_plugin.so /usr/lib64/dovecot/lib11_imap_quota_plugin.so /usr/lib64/dovecot/lib11_trash_plugin.so /usr/lib64/dovecot/lib15_notify_plugin.so /usr/lib64/dovecot/lib20_autocreate_plugin.so /usr/lib64/dovecot/lib20_expire_plugin.so /usr/lib64/dovecot/lib20_fts_plugin.so /usr/lib64/dovecot/lib20_listescape_plugin.so /usr/lib64/dovecot/lib20_mail_log_plugin.so /usr/lib64/dovecot/lib20_mailbox_alias_plugin.so /usr/lib64/dovecot/lib20_replication_plugin.so /usr/lib64/dovecot/lib20_virtual_plugin.so /usr/lib64/dovecot/lib20_zlib_plugin.so /usr/lib64/dovecot/lib21_fts_solr_plugin.so /usr/lib64/dovecot/lib21_fts_squat_plugin.so /usr/lib64/dovecot/lib30_imap_zlib_plugin.so /usr/lib64/dovecot/lib90_stats_plugin.so /usr/lib64/dovecot/lib95_imap_stats_plugin.so /usr/lib64/dovecot/libdovecot-compression.so.0 /usr/lib64/dovecot/libdovecot-compression.so.0.0.0 /usr/lib64/dovecot/libdovecot-lda.so.0 /usr/lib64/dovecot/libdovecot-lda.so.0.0.0 /usr/lib64/dovecot/libdovecot-login.so.0 /usr/lib64/dovecot/libdovecot-login.so.0.0.0 /usr/lib64/dovecot/libdovecot-sql.so.0 /usr/lib64/dovecot/libdovecot-sql.so.0.0.0 /usr/lib64/dovecot/libdovecot-storage.so.0 /usr/lib64/dovecot/libdovecot-storage.so.0.0.0 /usr/lib64/dovecot/libdovecot.so.0 /usr/lib64/dovecot/libdovecot.so.0.0.0 /usr/lib64/dovecot/libdriver_mysql.so /usr/lib64/dovecot/libdriver_pgsql.so /usr/lib64/dovecot/libdriver_sqlite.so /usr/lib64/dovecot/libssl_iostream_openssl.so /usr/libexec/dovecot /usr/libexec/dovecot/aggregator /usr/libexec/dovecot/anvil /usr/libexec/dovecot/auth /usr/libexec/dovecot/checkpassword-reply /usr/libexec/dovecot/config /usr/libexec/dovecot/decode2text.sh /usr/libexec/dovecot/deliver /usr/libexec/dovecot/dict /usr/libexec/dovecot/director /usr/libexec/dovecot/dns-client /usr/libexec/dovecot/doveadm-server /usr/libexec/dovecot/dovecot-lda /usr/libexec/dovecot/gdbhelper /usr/libexec/dovecot/imap /usr/libexec/dovecot/imap-login /usr/libexec/dovecot/imap-urlauth /usr/libexec/dovecot/imap-urlauth-login /usr/libexec/dovecot/imap-urlauth-worker /usr/libexec/dovecot/indexer /usr/libexec/dovecot/indexer-worker /usr/libexec/dovecot/ipc /usr/libexec/dovecot/lmtp /usr/libexec/dovecot/log /usr/libexec/dovecot/maildirlock /usr/libexec/dovecot/mkcert.sh /usr/libexec/dovecot/pop3 /usr/libexec/dovecot/pop3-login /usr/libexec/dovecot/prestartscript /usr/libexec/dovecot/quota-status /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/replicator /usr/libexec/dovecot/script /usr/libexec/dovecot/script-login /usr/libexec/dovecot/ssl-params /usr/libexec/dovecot/stats /usr/libexec/dovecot/xml2text /usr/sbin/dovecot /usr/share/doc/dovecot-2.2.10 /usr/share/doc/dovecot-2.2.10/AUTHORS /usr/share/doc/dovecot-2.2.10/COPYING /usr/share/doc/dovecot-2.2.10/COPYING.LGPL /usr/share/doc/dovecot-2.2.10/COPYING.MIT /usr/share/doc/dovecot-2.2.10/ChangeLog /usr/share/doc/dovecot-2.2.10/NEWS /usr/share/doc/dovecot-2.2.10/README /usr/share/doc/dovecot-2.2.10/documentation.txt /usr/share/doc/dovecot-2.2.10/dovecot-openssl.cnf /usr/share/doc/dovecot-2.2.10/example-config /usr/share/doc/dovecot-2.2.10/example-config/conf.d /usr/share/doc/dovecot-2.2.10/example-config/conf.d/10-auth.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/10-director.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/10-logging.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/10-mail.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/10-master.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/10-ssl.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/15-lda.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/15-mailboxes.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/20-imap.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/20-lmtp.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/20-pop3.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/90-acl.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/90-plugin.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/90-quota.conf /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-checkpassword.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-deny.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-dict.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-ldap.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-master.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-passwdfile.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-sql.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-static.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-system.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/conf.d/auth-vpopmail.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/dovecot-dict-auth.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/dovecot-dict-sql.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/dovecot-ldap.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /usr/share/doc/dovecot-2.2.10/example-config/dovecot.conf /usr/share/doc/dovecot-2.2.10/mkcert.sh /usr/share/doc/dovecot-2.2.10/solr-schema.xml /usr/share/doc/dovecot-2.2.10/wiki /usr/share/doc/dovecot-2.2.10/wiki/ACL.txt /usr/share/doc/dovecot-2.2.10/wiki/AixPluginsSupport.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.CheckPassword.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.Dict.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.LDAP.AuthBinds.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.LDAP.PasswordLookups.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.LDAP.Userdb.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.LDAP.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.Passwd.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.PasswdFile.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.SQL.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.VPopMail.txt /usr/share/doc/dovecot-2.2.10/wiki/AuthDatabase.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Caching.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Kerberos.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.MasterUsers.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Mechanisms.DigestMD5.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Mechanisms.NTLM.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Mechanisms.Winbind.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Mechanisms.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.MultipleDatabases.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.PasswordSchemes.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.Penalty.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.RestrictAccess.txt /usr/share/doc/dovecot-2.2.10/wiki/Authentication.txt /usr/share/doc/dovecot-2.2.10/wiki/BasicConfiguration.txt /usr/share/doc/dovecot-2.2.10/wiki/Chrooting.txt /usr/share/doc/dovecot-2.2.10/wiki/Clients.NegativeUIDs.txt /usr/share/doc/dovecot-2.2.10/wiki/Clients.txt /usr/share/doc/dovecot-2.2.10/wiki/CompilingSource.txt /usr/share/doc/dovecot-2.2.10/wiki/Debugging.Authentication.txt /usr/share/doc/dovecot-2.2.10/wiki/Debugging.ProcessTracing.txt /usr/share/doc/dovecot-2.2.10/wiki/Debugging.Rawlog.txt /usr/share/doc/dovecot-2.2.10/wiki/Debugging.Thunderbird.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Arrays.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.AuthProcess.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.AuthProtocol.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Buffers.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Code.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.DoveadmProtocol.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Dsync.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Indexes.Cache.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Indexes.MailIndexApi.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Indexes.MainIndex.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Indexes.TransactionLog.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Indexes.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.InputStreams.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.MailProcess.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Memory.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.OutputStreams.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Plugins.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Processes.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.ErrorHandling.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Mail.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.MailNamespace.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.MailStorage.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.MailUser.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Mailbox.Save.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Mailbox.Search.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Mailbox.Sync.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Mailbox.Transaction.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Mailbox.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.MailboxList.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Storage.Plugins.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.Strings.txt /usr/share/doc/dovecot-2.2.10/wiki/Design.txt /usr/share/doc/dovecot-2.2.10/wiki/Dict.txt /usr/share/doc/dovecot-2.2.10/wiki/Director.txt /usr/share/doc/dovecot-2.2.10/wiki/DomainLost.txt /usr/share/doc/dovecot-2.2.10/wiki/Errors.ChgrpNoPerm.txt /usr/share/doc/dovecot-2.2.10/wiki/FindMailLocation.txt /usr/share/doc/dovecot-2.2.10/wiki/FinishBasicConfiguration.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.EximAndDovecotSASL.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.ImapcProxy.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.PopBSMTPAndDovecot.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.PopRelay.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.PostfixAndDovecotSASL.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.Rootless.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.SimpleVirtualInstall.txt /usr/share/doc/dovecot-2.2.10/wiki/HowTo.txt /usr/share/doc/dovecot-2.2.10/wiki/IndexFiles.txt /usr/share/doc/dovecot-2.2.10/wiki/LDA.Exim.txt /usr/share/doc/dovecot-2.2.10/wiki/LDA.Indexing.txt /usr/share/doc/dovecot-2.2.10/wiki/LDA.Postfix.txt /usr/share/doc/dovecot-2.2.10/wiki/LDA.Qmail.txt /usr/share/doc/dovecot-2.2.10/wiki/LDA.Sendmail.txt /usr/share/doc/dovecot-2.2.10/wiki/LDA.txt /usr/share/doc/dovecot-2.2.10/wiki/LMTP.Exim.txt /usr/share/doc/dovecot-2.2.10/wiki/LMTP.txt /usr/share/doc/dovecot-2.2.10/wiki/Logging.txt /usr/share/doc/dovecot-2.2.10/wiki/LoginProcess.txt /usr/share/doc/dovecot-2.2.10/wiki/MDA.txt /usr/share/doc/dovecot-2.2.10/wiki/MTA.txt /usr/share/doc/dovecot-2.2.10/wiki/MailLocation.LocalDisk.txt /usr/share/doc/dovecot-2.2.10/wiki/MailLocation.Maildir.txt /usr/share/doc/dovecot-2.2.10/wiki/MailLocation.SharedDisk.txt /usr/share/doc/dovecot-2.2.10/wiki/MailLocation.dbox.txt /usr/share/doc/dovecot-2.2.10/wiki/MailLocation.mbox.txt /usr/share/doc/dovecot-2.2.10/wiki/MailLocation.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.Cydir.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.MH.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.Maildir.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.dbox.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.mailstore.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.mbox.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.mbx.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxFormat.txt /usr/share/doc/dovecot-2.2.10/wiki/MailboxSettings.txt /usr/share/doc/dovecot-2.2.10/wiki/MboxChildFolders.txt /usr/share/doc/dovecot-2.2.10/wiki/MboxLocking.txt /usr/share/doc/dovecot-2.2.10/wiki/MboxProblems.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.BincIMAP.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Courier.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Cyrus.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Dsync.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Gmail.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Linuxconf.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.MailFormat.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Online.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Teapop.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.UW.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.Vm-pop3d.txt /usr/share/doc/dovecot-2.2.10/wiki/Migration.txt /usr/share/doc/dovecot-2.2.10/wiki/MissingMailboxes.txt /usr/share/doc/dovecot-2.2.10/wiki/Mountpoints.txt /usr/share/doc/dovecot-2.2.10/wiki/NFS.txt /usr/share/doc/dovecot-2.2.10/wiki/Namespaces.txt /usr/share/doc/dovecot-2.2.10/wiki/OSCompatibility.txt /usr/share/doc/dovecot-2.2.10/wiki/POP3Server.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.BSDAuth.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.AllowNets.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.Host.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.NoDelay.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.NoLogin.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.Proxy.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.User.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.ExtraFields.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.IMAP.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.PAM.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.Shadow.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.Static.txt /usr/share/doc/dovecot-2.2.10/wiki/PasswordDatabase.txt /usr/share/doc/dovecot-2.2.10/wiki/PerformanceTuning.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Installation.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.ManageSieve.Clients.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.ManageSieve.Configuration.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.ManageSieve.Install.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.ManageSieve.Troubleshooting.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.ManageSieve.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Configuration.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Examples.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Extensions.SpamtestVirustest.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Extensions.Vacation.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Extensions.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Plugins.Extdata.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Plugins.Extprograms.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Plugins.Pipe.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Plugins.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Troubleshooting.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.Usage.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.Sieve.txt /usr/share/doc/dovecot-2.2.10/wiki/Pigeonhole.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Autocreate.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Compress.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Expire.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.FTS.Lucene.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.FTS.Solr.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.FTS.Squat.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.FTS.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Lazyexpunge.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Listescape.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.MailFilter.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.MailLog.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.MailboxAlias.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Notify.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Snarf.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Stats.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Trash.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Virtual.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.Zlib.txt /usr/share/doc/dovecot-2.2.10/wiki/Plugins.txt /usr/share/doc/dovecot-2.2.10/wiki/PostLoginScripting.txt /usr/share/doc/dovecot-2.2.10/wiki/PreAuth.txt /usr/share/doc/dovecot-2.2.10/wiki/QuickConfiguration.txt /usr/share/doc/dovecot-2.2.10/wiki/Quota.Configuration.txt /usr/share/doc/dovecot-2.2.10/wiki/Quota.Dict.txt /usr/share/doc/dovecot-2.2.10/wiki/Quota.Dirsize.txt /usr/share/doc/dovecot-2.2.10/wiki/Quota.FS.txt /usr/share/doc/dovecot-2.2.10/wiki/Quota.Maildir.txt /usr/share/doc/dovecot-2.2.10/wiki/Quota.txt /usr/share/doc/dovecot-2.2.10/wiki/Replication.txt /usr/share/doc/dovecot-2.2.10/wiki/RunningDovecot.txt /usr/share/doc/dovecot-2.2.10/wiki/SSL.CertificateClientImporting.txt /usr/share/doc/dovecot-2.2.10/wiki/SSL.CertificateCreation.txt /usr/share/doc/dovecot-2.2.10/wiki/SSL.DovecotConfiguration.txt /usr/share/doc/dovecot-2.2.10/wiki/SSL.SNIClientSupport.txt /usr/share/doc/dovecot-2.2.10/wiki/SSL.txt /usr/share/doc/dovecot-2.2.10/wiki/Sasl.txt /usr/share/doc/dovecot-2.2.10/wiki/SecurityTuning.txt /usr/share/doc/dovecot-2.2.10/wiki/Services.txt /usr/share/doc/dovecot-2.2.10/wiki/SharedMailboxes.Permissions.txt /usr/share/doc/dovecot-2.2.10/wiki/SharedMailboxes.Public.txt /usr/share/doc/dovecot-2.2.10/wiki/SharedMailboxes.Shared.txt /usr/share/doc/dovecot-2.2.10/wiki/SharedMailboxes.Symlinks.txt /usr/share/doc/dovecot-2.2.10/wiki/SharedMailboxes.txt /usr/share/doc/dovecot-2.2.10/wiki/SocketUnavailable.txt /usr/share/doc/dovecot-2.2.10/wiki/Statistics.txt /usr/share/doc/dovecot-2.2.10/wiki/SystemUsers.txt /usr/share/doc/dovecot-2.2.10/wiki/TestInstallation.txt /usr/share/doc/dovecot-2.2.10/wiki/TestPop3Installation.txt /usr/share/doc/dovecot-2.2.10/wiki/TimeMovedBackwards.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.1.0.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.1.1.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.1.2.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.2.0.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.2.1.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.2.2.txt /usr/share/doc/dovecot-2.2.10/wiki/Upgrading.txt /usr/share/doc/dovecot-2.2.10/wiki/UserDatabase.ExtraFields.txt /usr/share/doc/dovecot-2.2.10/wiki/UserDatabase.NSS.txt /usr/share/doc/dovecot-2.2.10/wiki/UserDatabase.Prefetch.txt /usr/share/doc/dovecot-2.2.10/wiki/UserDatabase.Static.txt /usr/share/doc/dovecot-2.2.10/wiki/UserDatabase.txt /usr/share/doc/dovecot-2.2.10/wiki/UserIds.txt /usr/share/doc/dovecot-2.2.10/wiki/Variables.txt /usr/share/doc/dovecot-2.2.10/wiki/VirtualUsers.Home.txt /usr/share/doc/dovecot-2.2.10/wiki/VirtualUsers.txt /usr/share/doc/dovecot-2.2.10/wiki/WhyDoesItNotWork.txt /usr/share/doc/dovecot-2.2.10/wiki/maildrop.txt /usr/share/doc/dovecot-2.2.10/wiki/mutt.txt /usr/share/doc/dovecot-2.2.10/wiki/uw2dovecot.sh.txt /usr/share/man/man1/deliver.1.gz /usr/share/man/man1/doveadm-altmove.1.gz /usr/share/man/man1/doveadm-auth.1.gz /usr/share/man/man1/doveadm-batch.1.gz /usr/share/man/man1/doveadm-config.1.gz /usr/share/man/man1/doveadm-copy.1.gz /usr/share/man/man1/doveadm-deduplicate.1.gz /usr/share/man/man1/doveadm-director.1.gz /usr/share/man/man1/doveadm-dump.1.gz /usr/share/man/man1/doveadm-exec.1.gz /usr/share/man/man1/doveadm-expunge.1.gz /usr/share/man/man1/doveadm-fetch.1.gz /usr/share/man/man1/doveadm-flags.1.gz /usr/share/man/man1/doveadm-force-resync.1.gz /usr/share/man/man1/doveadm-help.1.gz /usr/share/man/man1/doveadm-import.1.gz /usr/share/man/man1/doveadm-index.1.gz /usr/share/man/man1/doveadm-instance.1.gz /usr/share/man/man1/doveadm-kick.1.gz /usr/share/man/man1/doveadm-log.1.gz /usr/share/man/man1/doveadm-mailbox.1.gz /usr/share/man/man1/doveadm-mount.1.gz /usr/share/man/man1/doveadm-move.1.gz /usr/share/man/man1/doveadm-penalty.1.gz /usr/share/man/man1/doveadm-purge.1.gz /usr/share/man/man1/doveadm-pw.1.gz /usr/share/man/man1/doveadm-quota.1.gz /usr/share/man/man1/doveadm-reload.1.gz /usr/share/man/man1/doveadm-search.1.gz /usr/share/man/man1/doveadm-stop.1.gz /usr/share/man/man1/doveadm-user.1.gz /usr/share/man/man1/doveadm-who.1.gz /usr/share/man/man1/doveadm.1.gz /usr/share/man/man1/doveconf.1.gz /usr/share/man/man1/dovecot-lda.1.gz /usr/share/man/man1/dovecot.1.gz /usr/share/man/man1/dsync.1.gz /usr/share/man/man5/dovecot.conf.5.gz /usr/share/man/man7/doveadm-search-query.7.gz /var/cache/dovecot /var/cache/dovecot/indexes /var/lib/dovecot /var/run/dovecot /var/run/dovecot/empty /var/run/dovecot/login
Installierte Benutzer
Folgender Benutzer wurde ebenfalls angelegt, was mit folgende Befehl überprüft werden kann:
# cat /etc/passwd | grep dove dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin dovenull:x:398:398:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin
Desweiteren wurden auch folgende Gruppen angelegt, was mit folgendem Befehl überprüft werden kann:
# cat /etc/group | grep dove dovecot:x:97: dovenull:x:398:
Automatischer Systemstart
Um das Starten des MDA - Dovecot auch nach einem System-(re)-start auch in Zukunft dauerhaft zu realisieren, kann folgender Befehl genutzt werden. Hier wird der MDA - Dovecot zu den Start-Scripten der einzelnen Runlevel des Betriebssystem hinzugefügt:
# chkconfig dovecot on
Ein Überprüfung, ob nur noch der MDA - Dovecot in den einzelnen Runlevel des Betriebssystems bei einem system-(re)-start mit gestartet wird, kann mit folgendem Befehle abgefragt werden:
# chkconfig --list | grep dovecot dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Konfiguration - Grundlagen
Die Konfiguration von Dovecot wird in nachfolgenden Dateien durchgeführt:
/etc/dovecot/dovecot.conf
und in allen Dateien mit der Endung - .conf
- welche sich im Verzeichnis
/etc/dovecot/conf.d/*.conf
befinden - und
/etc/dovecot/local.conf
welche die Möglichkeit bietet, die in Ihr gesetzten Konfigurationswerte zu überschreiben, auch wenn diese in vorhergehenden Konfigurationsdateien (abweichend) gesetzt wurden.
HINWEIS - /etc/dovecot/local.conf
kann, muss aber nicht vorhanden sein, was an der Art und Weise liegt, wie diese in der Konfigurationsdatei /etc/dovecot/dovecot.conf
eingebunden ist. (Siehe hierzu das Ende der Konfigurationsdatei
/etc/dovecot/dovecot.conf
(Nur relevanter Ausschnitt)
... # Most of the actual configuration gets included below. The filenames are # first sorted by their ASCII value and parsed in that order. The 00-prefixes # in filenames are intended to make it easier to understand the ordering. !include conf.d/*.conf # A config file can also tried to be included without giving an error if # it's not found: !include_try local.conf
Mit nachfolgendem Befehl, können die Konfigurationsverzeichnisse von Dovecot aufgelistet werden:
# ll /etc/dovecot/* -rw-r--r-- 1 root root 4380 May 19 2013 /etc/dovecot/dovecot.conf /etc/dovecot/conf.d: total 112 -rw-r--r-- 1 root root 5296 Apr 17 2013 10-auth.conf -rw-r--r-- 1 root root 1893 Mar 14 2013 10-director.conf -rw-r--r-- 1 root root 2727 Nov 19 21:36 10-logging.conf -rw-r--r-- 1 root root 15515 Jan 6 03:42 10-mail.conf -rw-r--r-- 1 root root 3383 Mar 14 2013 10-master.conf -rw-r--r-- 1 root root 2331 Jan 6 03:43 10-ssl.conf -rw-r--r-- 1 root root 1668 Apr 17 2013 15-lda.conf -rw-r--r-- 1 root root 1137 Mar 14 2013 15-mailboxes.conf -rw-r--r-- 1 root root 2425 May 19 2013 20-imap.conf -rw-r--r-- 1 root root 574 Mar 14 2013 20-lmtp.conf -rw-r--r-- 1 root root 4007 May 19 2013 20-pop3.conf -rw-r--r-- 1 root root 676 Mar 14 2013 90-acl.conf -rw-r--r-- 1 root root 292 Mar 14 2013 90-plugin.conf -rw-r--r-- 1 root root 2502 Apr 17 2013 90-quota.conf -rw-r--r-- 1 root root 499 May 19 2013 auth-checkpassword.conf.ext -rw-r--r-- 1 root root 489 May 19 2013 auth-deny.conf.ext -rw-r--r-- 1 root root 343 May 19 2013 auth-dict.conf.ext -rw-r--r-- 1 root root 924 May 19 2013 auth-ldap.conf.ext -rw-r--r-- 1 root root 561 May 19 2013 auth-master.conf.ext -rw-r--r-- 1 root root 515 May 19 2013 auth-passwdfile.conf.ext -rw-r--r-- 1 root root 788 May 19 2013 auth-sql.conf.ext -rw-r--r-- 1 root root 611 May 19 2013 auth-static.conf.ext -rw-r--r-- 1 root root 2185 May 19 2013 auth-system.conf.ext -rw-r--r-- 1 root root 330 May 19 2013 auth-vpopmail.conf.ext
doveconf
Ähnlich wie auch bei Postfix, gibt es bei Dovecot ein Werzeug, mit dem die Konfiguration zur Anzeige gebracht werden kann:
/usr/bin/doveconf
.
Nachfolgende Übersicht, zeigt eine kleine Auswahl an Optionen, welche mit dem Befehl angewannt werden können:
Befehl | Beschreibung |
---|---|
# doveconf | Listet die aktuelle Konfiguration auf |
# doveconf -a | Listet ebenfalls die aktuelle Konfiguration auf |
# doveconf -d | Listet nur die default Konfigurationswerte auf, anstelle der aktuellen Konfiguration |
# doveconf -m <MODUL> | Listet die aktuelle Konfiguration, aber nur auf das angegeben Modul auf - \\z.B.: imap, imap-login, lmtp, pop3 und pop3-login |
# doveconf -n | Listet nur alle nicht Standard Konfigurationswerte auf |
# doveconf -N | Listet alle nicht Standard Konfigurationswerte und zusätzlich alle explizit gesetzten Standard Konfigurationswerte auf |
Eine aktuelle und vollständige Liste aller Optionen, bringt die man
-Page von /usr/bin/doveconf
mit, welche mit nachfolgendem Befehl zur Anzeige gebracht werden kann:
# man doveconf
Abschließend eine Auflistung aller nicht Standard Konfigurationswerte, welche nach der Installation bereits gesetzt sind (Distributionsabhängig), was mit nachfolgendem Befehl durchgeführt werden kann:
# doveconf -n # 2.2.10: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-431.5.1.el6.x86_64 x86_64 CentOS release 6.5 (Final) mbox_write_locks = fcntl namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { driver = pam } ssl = required ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { driver = passwd }
Konfiguration - Basiskonfiguration
/etc/dovecot/dovecot.conf
Nachfolgend sollen die ersten grundlegenden Konfigurationen vorgenommen werden.
protocols
Ein der ersten Entscheidungen kann sein, welches Protokoll der Dovecot überhaupt zur Kommunikation mit dem Client anbieten soll.
Nachfolgend kann z.B. durch eine Änderung des Standard, hier z.B. das Protokoll pop3 - nicht mehr angeboten werden, was jedoch standardmäßig der Fall ist.
Nachfolgende Änderung zeigt nur noch die Verwendung der Protokolle - imap und lmtp. Dazu ist die Konfigurationsdatei /etc/dovecot/dovecot.conf
wie folgt anzupassen:
... # Protocols we want to be serving. # Tachtler # default: #protocols = imap pop3 lmtp protocols = imap lmtp ...
verbose_proctitle
Mit dieser Einstellung kann festgelegt werden, das weitere Informationen zum aktuell bei Dovecot angemeldeten Benutzer, in der Prozessliste-/übersicht, welche z.B. mit dem Befehl ps
zur Anzeige gebracht werden kann, aufgelistet werden. Es spielt hierbei keine Rolle, über welches Protokoll der Benutzer bei Dovecot angemeldet ist.
Nachfolgende Einstellung aktiviert die erweiterte Anzeige beim Befehl ps
und der Prozessliste-/übersicht der bei Dovecot angemeldeten Benutzer:
... # Show more verbose process titles (in ps). Currently shows user name and # IP address. Useful for seeing who are actually using the IMAP processes # (eg. shared mailboxes or if same uid is used for multiple accounts). # Tachtler # default: #verbose_proctitle = no verbose_proctitle = yes ...
Nachfolgende Befehle demonstrieren die Anzeige eines bei Dovecot angemeldeten Benutzer, einmal - ohne und einmal mit - erweiterter Prozessliste-/übersicht.
ohne - erweiterter Prozessliste-/übersicht
# ps ax | grep dovecot/imap 11346 ? S 0:00 dovecot/imap 11348 pts/2 S+ 0:00 grep --color=auto dovecot/imap
mit - erweiterter Prozessliste-/übersicht
# ps ax | grep dovecot/imap 11530 ? S 0:00 dovecot/imap [username@example.com 192.168.0.4] 11532 pts/1 S+ 0:00 grep --color=auto dovecot/imap
/etc/dovecot/conf.d/10-logging.conf
Zu beginn einer neuen Dovecot Installation, kann es hilfreich sein das Logging bzw. das Loglevel so zu konfigurieren, dass ein erweitertes Logging in der Log-Datei
/var/log/maillog
erfolgt.
auth_verbose
Durch setzen des Konfigurationswertes wie nachfolgend beschrieben, werden alle nicht erfolgreichen Anmeldeversuche und der Grund für die nicht erfolgreiche Anmeldung zusätzlich in die Log-Datei /var/log/maillog
geschrieben (nur relevanter Ausschnitt).
... ## ## Logging verbosity and debugging. ## # Log unsuccessful authentication attempts and the reasons why they failed. # Tachtler # default: #auth_verbose = no auth_verbose = yes ...
auth_debug
Durch setzen des Konfigurationswertes wie nachfolgend beschrieben, werden erweiterte Informationen, wie z.B. geladene Module, zusätzlich in die Log-Datei /var/log/maillog
geschrieben (nur relevanter Ausschnitt).
... # Even more verbose logging for debugging purposes. Shows for example SQL # queries. # Tachtler # default: #auth_debug = no auth_debug = yes ...
mail_debug
Durch setzen des Konfigurationswertes wie nachfolgend beschrieben, werden zusätzliche Informationen zum e-Mail-Prozess, wie z.B. Dovecot die e-Mail-Verzeichnisse des Benutzer ermittelt, zusätzlich in die Log-Datei /var/log/maillog
geschrieben (nur relevanter Ausschnitt).
...
# Enable mail process debugging. This can help you figure out why Dovecot
# isn't finding your mails.
# Tachtler
# default: #mail_debug = no
mail_debug = yes
...
/etc/dovecot/conf.d/10-mail.conf
In der Konfigurationsdatei wird festgelegt, welche Art von „Ablagesystem“ Mailbox-Format verwendet werden soll und wo die e-Mail (Postfächer) im Dateisystem abgelegt werden sollen und welche plugins verwendet werden.
mail_location
Durch setzen des Konfigurationswertes wie nachfolgend beschrieben, werden zwei Parameter bestimmt.
- Welche Art von „Ablagesystem“ Mailbox-Format verwendet werden soll
- Wo die e-Mail (Postfächer) im Dateisystem abgelegt werden sollen
Welche Arten von „Ablagesystem“ Mailbox-Format es gibt, kann unter nachfolgendem internen Link nachgelesen werden:
HINWEIS - Hier soll das „Ablagesystem“ bzw. der Mailbox-Format Maildir verwendet werden!
(Nur relevanter Ausschnitt):
... # There are a few special variables you can use, eg.: # # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory # # See doc/wiki/Variables.txt for full list. Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # <doc/wiki/MailLocation.txt> # # Tachtler # default: #mail_location = mail_location = maildir:~/Maildir ...
WICHTIG - Die Definition ~/ in mail_location = maildir:~/Maildir
bedeutet nicht, das hier ein vorhandenes home
-Verzeichnis eines existierenden Benutzer verwendet werden muss!
HINWEIS - Die Angabe ~/ bedeutet vielmehr, dass hier eine Angabe erfolgt bei der unterhalb dieser Angabe dann der Ordner Maildir
angelegt wird!
HINWEIS - Das home
-Verzeichnis bei virtuellen Benutzer, welche keine Login-shell
haben, kann z.B. in einer separaten Datei passwd-file oder z.B. auch im LDAP definiert werden.
Erklärung:
mail_location = maildir:~/Maildir
Wert | Beschreibung |
---|---|
maildir: | Das verwendete Mailbox-Format ist das Maildir-Format |
~ | Dynamischer Pfad-Teil zum Dateisystem zum home -Verzeichnis |
/Maildir | Pfad-Trenner und Ordnername unter dem die Maildir-Struktur angelegt wird |
Beispiel: Hinter der Angabe ~/ könnte sich z.B. nachfolgende Definition pro Benutzer verbergen:
/var/spool/mail/vmail/%Ld/%Ln
- localpart@domain =/var/spool/mail/vmail/domain/localpart
/var/spool/mail/vmail/%Lu
- user123 =/var/spool/mail/vmail/user123
Erklärung Nachfolgende Erklärungen zu oben gezeigtem Beispiel:
Wert | Beschreibung |
---|---|
/%Lu | Pfad-Trenner und variabler Pfad-Teil in Kleinschrift umgewandelter unername - z.B. user1234 oder auch locapart@domain sein |
/%Ld | Pfad-Trenner und variabler Pfad-Teil in Kleinschrift umgewandelter domain-Teil aus locapart@domain |
/%Ln | Pfad-Trenner und variabler Pfad-Teil in Kleinschrift umgewandelter localpart-Teil aus locapart@domain |
namespace inbox
Nachfolgende Definitionen stellt die Konfiguration für die INBOX der Benutzers dar.
type
Der Standardwert ist hier auf private gesetzt. Nachfolgende Werte sind hier möglich
- private = nur für den Benutzer ersichtlich
- shared = ersichtlich für Benutzer, welche die entsprechenden Rechte (acl) freigegeben bzw. erhalten haben
- public = wie shared, jedoch obliegt hier die Verwaltung keinem Benutzer, sondern dem System Administrator
WICHTIG - Der hier gesetzte Standardwert type = private
sollte beibehalten werden, da dies die persönliche mailbox des Benutzers darstellt und diese auch „privat“ bleiben sollte!
(Nur relevanter Ausschnitt):
... # If you need to set multiple mailbox locations or want to change default # namespace settings, you can do it by defining namespace sections. # # You can have private, shared and public namespaces. Private namespaces # are for user's personal mails. Shared namespaces are for accessing other # users' mailboxes that have been shared. Public namespaces are for shared # mailboxes that are managed by sysadmin. If you create any shared or public # namespaces you'll typically want to enable ACL plugin also, otherwise all # users can access all the shared mailboxes, assuming they have permissions # on filesystem level to do so. namespace inbox { # Namespace type: private, shared or public #type = private ...
separator
Nachfolgend wird das Trennzeichen für die Hierarchieebenen festgelegt. Die sollte für alle namespaces
gleich sein und nicht unterschiedlich vergeben werden. Hier soll der Schrägstrich (/) verwendet werden!
(Nur relevanter Ausschnitt):
... # Hierarchy separator to use. You should use the same separator for all # namespaces or some clients get confused. '/' is usually a good one. # The default however depends on the underlying mail storage format. # Tachtler # default: #separator = separator = / ...
prefix
Nachfolgend wird der Präfix, unter der der einzelne namespace
erreichbar ist festgelegt. Dies sollte für jeden namespace
unterschiedlich vergeben werden. Hier soll dies (INBOX/) sein!
(Nur relevanter Ausschnitt):
... # Prefix required to access this namespace. This needs to be different for # all namespaces. For example "Public/". # Tachtler # default: #prefix = prefix = INBOX/ ...
location
Die Angebe in einem namespace
überschreibt die Angabe mail_location
, welche außerhalb der jeweiligen namespace
Definition bereits „global“ gesetzt wurde. Dies sollte jedoch auf dem Standardwert = leer belassen werden.
(Nur relevanter Ausschnitt):
...
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
#location =
...
inbox
Diese Definition darf nur in einem namespace
gesetzt werden, da nur ein namespace
für die jeweilige INBOX des Benuters zeichnen kann. Das es sich hier um den namespace inbox
handelt, sollte hier der Wert gesetzt sein.
(Nur relevanter Ausschnitt):
... # There can be only one INBOX, and this setting defines which namespace # has it. inbox = yes ...
hidden
Diese Definition kann dazu verwendet werden, ganze namespaces
vor einem client
zu verstecken.
(Nur relevanter Ausschnitt):
... # If namespace is hidden, it's not advertised to clients via NAMESPACE # extension. You'll most likely also want to set list=no. This is mostly # useful when converting from another server with different namespaces which # you want to deprecate but still keep working. For example you can create # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/". #hidden = no ...
list
Diese Definition kann dazu verwendet werden, ganze namespaces
vor einem client
zu verstecken und ist ähnlich wie die Definition hidden
, für Clients, die die namespace
Erweiterung nicht interpretieren bzw. nicht verstehen.
(Nur relevanter Ausschnitt):
...
# Show the mailboxes under this namespace with LIST command. This makes the
# namespace visible for clients that don't support NAMESPACE extension.
# "children" value lists child mailboxes, but hides the namespace prefix.
#list = yes
...
subscriptions
Mit Dieser Definition wird festgelegt, das der namespace
seine eigene „Abonnementenliste“ führt.
(Nur relevanter Ausschnitt):
... # Namespace handles its own subscriptions. If set to "no", the parent # namespace handles them (empty prefix should always have this as "yes") #subscriptions = yes ...
/etc/dovecot/conf.d/10-master.conf
Damit Dovecot auch auf Anfragen von z.B. Postfix über das Protokoll lmtp
, wie hier beschrieben
erreichbar ist, sind nachfolgende Einstellungen in der Konfigurationsdatei
- /etc/dovecot/conf.d/10-master.conf
durchzuführen.
Es gibt zwei Möglichkeiten, wie Dovecot lmtp
anbieten kann,
Hier soll die ein Anbindung via TCP/IP-Verbindung erfolgen, was durch nachfolgende Einstellungen erreicht werden kann: (Nur relevanter Ausschnitt)
... service lmtp { unix_listener lmtp { #mode = 0666 } # Create inet listener only if you can't use the above UNIX socket # Tachtler # default: #inet_listener lmtp { inet_listener lmtp { # Avoid making LMTP visible for the entire internet # Tachtler # default: #address = address = 192.168.0.80 # Tachtler # default: #port = port = 24 # Tachtler # default: #} } } service imap { # Most of the memory goes to mmap()ing files. You may need to increase this # limit if you have huge mailboxes. #vsz_limit = $default_vsz_limit # Max. number of IMAP processes (connections) #process_limit = 1024 } ...
In der oben gezeigten Konfiguration lauscht Dovecot auf einer
- internen IP-Adresse, welche nicht aus dem Internet erreichbar sein sollte, auf
- Port 24, welcher der Port für
lmtp
(Priv-mail: Private E-Mail-Systeme) darstellt.
Konfiguration - Authentifizierung
Die gebräuchlichen Authentifizierungsmöglichkeiten wurden bereits erwähnt und sind unter nachfolgenden internen Links nochmals aufgelistet:
Authentifizierungsabfragen
Zu einer erfolgreichen Authentifizierung gehören zwei Bestandteile, welche nachfolgend aufgeführt sind:
- passdb - Benutzername und Passwort
- userdb - UID (Benutzerkennung), GID (Gruppenkennung) und HOME-Verzeichnis, EXTRAS-Daten
des angemeldeten Benutzers
Dovecot verwendet die passdb-Abfrage (lookup) um Benutzername und Passwort zu überprüfen, was immer nur bei einer Anmeldung erforderlich ist.
Dovecot verwendet die userdb-Abfrage (lookup) um UID, GID, HOME und EXTRAS für den angemeldeten Benutzer zu bestimmen, was bei vielen Aktionen erfolgt, z.B.
- nach der erfolgreichen Anmeldung
- Einlieferung einer neuen e-Mail
- uvm.
Dabei besteht durchaus die Möglichkeit, das Dovecot die passdb-Abfrage und die userdb-Abfrage gegen verschiedene Quellen durchführt - z.B.
- passdb-Abfrage (lookup) gegen
/etc/passwd-file
z.B. (/etc/dovecot/userdb) - userdb-Abfrage (lookup) gegen LDAP
HINWEIS - Dies ist möglich, muss jedoch nicht so sein und ist auch nicht empfohlen !
Authentifizierungsquellen
Dovecot bringt in der Konfigurationsdatei
/etc/dovecot/conf.d/10-auth.conf
ganz am Ende der Konfigurationsdatei vorbereitete include
-Dateien mit, welche für die verschiedenen Authentifizierungsquellen bereits grundlegend vorkonfiguriert sind und nur um entsprechend zwingende Angaben ergänzt werden müssen. Nachfolgend eine Aufstellung:
(Nur relevanter Ausschnitt):
... !include auth-system.conf.ext #!include auth-sql.conf.ext #!include auth-ldap.conf.ext #!include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext
Hier nur die vier gebräuchlichsten in einer Übersicht:
inlcude-Datei | Authentifizierungsquelle | Beschreibung |
---|---|---|
auth-system.conf.ext | /etc/passwd & /etc/shadow | Benutzer mit shell -Zugriff |
auth-sql.conf.ext | SQL-Datenbank | Benutzerverwaltung in einer Datenbank |
auth-ldap.conf.ext | LDAP | Benutzerverwaltung in LDAP |
auth-passwdfile.conf.ext | /etc/dovecot/users | Benutzerverwaltung in einer Datei |
Authentifizierungsbenutzer
Wie bereits bei der Darstellung der Authentifizierungsabfragen, was unter nachfolgendem internen Link nachgelesen werden kann
sind einige Angaben notwendig, um den Benutzer zu authentifizieren.
Um die Verwaltung in Dovecot zu vereinfachen, soll ein Dummy-Benutzer angelegt werden, unter dessen Rechten die Verwaltung der e-Mail-Postfächer (Mailboxen) in Dovecot und im Dateisystem, durchgeführt werden kann.
Vorteile hierfür sind nachfolgende, um nur einige zu nennen:
- Gleiche UID und GID bieten einfachere Verwaltung durch den Dovecot-Administrator (Skripte, Backup usw.)
- Geteilte Ordner (shared Folder) sind bei unterschiedlichen UID und GID nur sehr schwer oder kaum zu realisieren
- Es können nicht mehr als 65.535 Benutzerkonten angelegt werden
GID Gruppen-ID
Mit nachfolgendem Befehl soll erst einmal eine neue Gruppe für die
- GID angelegt werden und mit dem hohen Wert 10000 und dem
- Gruppennamen -
vmail
(virtual user mail) angelegt werden,
damit sich diese von allen anderen abhebt und ggf. auch unter anderen Linux-Distributionen nicht mit anderen GID's kollidiert:
# groupadd -g 10000 vmail
Zur Überprüfung ob die Erstellung der neuen Gruppe erfolgreich war, kann nachfolgender Befehl verwendet werden:
# cat /etc/group | grep 10000 vmail:x:10000:
UID Benutzer-ID
Mit nachfolgendem Befehl soll eine neuer Benutzer mit dem
- Kommentar: Virtual User Mail, mit der
- UID: 10000 angelegt werden und ebenfalls mit einem hohen Wert, dessen
- GID: 10000 ist, mit dem
- Home-Verzeichnis: /var/spool/vmail und der
- Option: -M (bewirkt, dass kein
home
-Verzeichnis neu angelegt wird) und der - Login-shell:
/sbin/nologin
und dem - Benutzernamen -
vmail
(virtual user mail) angelegt werden,
damit sich diese von allen anderen abhebt und ggf. auch unter anderen Linux-Distributionen nicht mit anderen UID's kollidiert:
# useradd -c 'Virtual User Mail' -u 10000 -g 10000 -d /var/spool/vmail -M -s /sbin/nologin vmail
Zur Überprüfung ob die Erstellung des neuen Benutzers erfolgreich war, kann nachfolgender Befehl verwendet werden:
# cat /etc/passwd | grep 10000 vmail:x:10000:10000:Virtual User Mail:/var/spool/vmail:/sbin/nologin
HINWEIS - Das Verzeichnis /var/spool/vmail
muss nicht existieren!
HINWEIS - Bei der Neuanlage des Benutzer vmail
wird trotzdem die Datei
/var/spool/mail/vmail
angelegt, die für lokale e-Mail gedacht ist. Dies ist Standard und hat nichts mit Dovecot zu tun!
/var/spool/vmail
WICHTIG - Bei Verwendung eines Dummy-Benutzers, muss auch das Verzeichnis in dem die (Postfächer) und die e-Mails der einzelnen Benutzer abgelegt werden, der Dummy-Benutzer Eigentümer des Verzeichnisses sein, was mit nachfolgendem Befehl, hier als Beispiel für das Verzeichnis
/var/spool/vmail
durchgeführt werden soll:
# chown -R vmail:vmail /var/spool/vmail
Zur Überprüfung ob das Setzen des Dummy-Benutzers als Eigentümer erfolgreich war, kann nachfolgender Befehl verwendet werden:
# ls -la /var/spool | grep vmail drwxr-xr-x. 3 vmail vmail 4096 Mar 23 09:30 vmail
Authentifizierungsmethoden
Nachfolgende Authentifizierungsmethoden stellen die meist verwendeten Methoden dar:
PLAIN
= Passwortübermittlung im Klartext, Speicherung Verschlüsselt möglichLOGIN
= Passwortübermittlung im Klartext, Speicherung Verschlüsselt möglichCRAM
= Passwortübermittlung Verschlüsselt, Speicherung im Klartext notwendig !DIGEST
Passwortübermittlung Verschlüsselt, Speicherung im Klartext notwendig !
PLAIN/LOGIN
Die Übertragungsmethoden PLAIN/LOGIN übermitteln den Benutzernamen und das Passwort quasi im Klartext (bas64
-encoded). Ein Einsatz sollte daher nur in verschlüsselten Verbindungen SSL/TLS, wenn überhaupt, zum Einsatz kommen.
Der Unterschied zwischen PLAIN und LOGIN ist, das
- PLAIN = RFC 4616
- LOGIN = Microsoft, nicht RFC-Konforme Implementierung
CRAM/DIGEST
Aktuell ist das Abhören der Übertragung des Benutzernamens und des Passwortes nahezu unmöglich, da bei der Übertragung ein individueller Sitzungsschlüssel zum Einsatz kommt. Mit Hilfe dieses individuellen Sitzungsschlüssels, können Server und Client, jeweils für sich das Passwort berechnen, der ebenfalls nur jeweils einmalig für eine Sitzung identisch ist.
WICHITG - Da Server und Client jeweils das Passwort errechnen können müssen, ist es erforderlich, das Server und Client, das Passwort im Klartext kennen!
HINWEIS - Das bedeutet, dass beim Einsatz von CRAM/DIGEST das Passwort im Klartext gespeichert werden muss!
/etc/dovecot/conf.d/10-auth.conf
In dieser Konfigurationsdatei werden die Parameter für die Authentifizierung festgelegt.
disable_plaintext_auth
Diese Definition erlaubt oder verbietet den Zugriff von Rechnern, außer localhost
, das Anmelden mit den Methoden
- PLAIN
- LOGIN
wenn, keine SSL/TLS-verschlüsselte Verbindung genutzt wird.
Solange noch keine SSL/TLS-Konfiguration statt gefunden hat, kann zum testen auch das Anmelden an Dovecot mit oben genannten Methoden, auch bei einer nicht SSL/TLS-verschlüsselten Verbindung temporär erlaubt werden, von anderen Rechnern zuzugreifen.
(Nur relevanter Ausschnitt):
... # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. # See also ssl=required setting. # Tachtler - temporary - # default: #disable_plaintext_auth = yes disable_plaintext_auth = no ...
Falls SSL/TLS-Verschlüsselung realisiert wurde, sollte die Konfiguration wie folgt aussehen.
(Nur relevanter Ausschnitt):
... # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. # See also ssl=required setting. #disable_plaintext_auth = yes ...
auth_username_format
Egal wie der Anmeldename des Benutzer aussieht, e-Mail-Adresse oder Benutzerkennung, es sollte hier nachfolgende Standardeinstellung beibehalten werden.
(Nur relevanter Ausschnitt):
... # Username formatting before it's looked up from databases. You can use # the standard variables here, eg. %Lu would lowercase the username, %n would # drop away the domain if it was given, or "%n-AT-%d" would change the '@' into # "-AT-". This translation is done after auth_username_translation changes. #auth_username_format = %Lu
Erklärung:
Parameter | Beispiel | Bedeutung |
---|---|---|
%Lu | user@example.com | Verweist auf die in Kleinschrift umgewandelte, vollständige e-Mail-Adresse (localpart@domain) oder Benutzerkennung (username) |
%Ln | user | Verweist auf den in Kleinschrift umgewandelten, localpart der e-Mail-Adresse (localpart@domain) |
WICHTIG - Auch wenn mit e-Mail-Adressen gearbeitet wird, sollte → %Lu ← genutzt werden !!!
Die Benutzerkennung sollte nur zur Authentifizeirung mit Benutzername und Passwort dienen. Weitere Abfragen von Dovecot zur Ermittlung der Kontodaten, können dann auf eine gespeicherte e-Mail-Adresse zurückgreifen.
auth_mechanisms
Wie bereits dargelegt und unter nachfolgendem internen Link nachzulesen ist, die Unterschiede zwischen den verschiedenen Authentifizierungsmethoden
Nachfolgende Änderung fügt zu der bereits bestehenden Authentifizierungsmethode PLAIN
noch die Authentifizierungsmethoden CRAM-MD5
, DIGEST-MD5
und LOGIN
hinzu:
(Nur relevanter Ausschnitt)
... # Space separated list of wanted authentication mechanisms: # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey # gss-spnego # NOTE: See also disable_plaintext_auth setting. # Tachtler # default: auth_mechanisms = plain auth_mechanisms = plain digest-md5 cram-md5 login ...
/etc/dovecot/conf.d/10-ssl.conf
In dieser Konfigurationsdatei werden die Parameter für die Verschlüsselung SSL/TLS festgelegt.
ssl
Diese Definition aktiviert, deaktiviert und erzwingt den Zugriff von Rechnern, außer localhost
, zur Verwendung von SSL/TLS-verschlüsselte Verbindung
Solange noch keine SSL/TLS-Konfiguration statt gefunden hat, kann zum testen auch das Anmelden an Dovecot, auch bei einer nicht SSL/TLS-verschlüsselten Verbindung temporär erlaubt werden, von anderen Rechnern zuzugreifen.
(Nur relevanter Ausschnitt):
... # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> # disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps # plain imap and pop3 are still allowed for local connections # Tachtler # default: ssl = required ssl = no ...
Falls SSL/TLS-Verschlüsselung realisiert wurde und die Testphase abgeschlossen ist, sollte die Konfiguration wie folgt aussehen.
(Nur relevanter Ausschnitt):
... # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> # disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps # plain imap and pop3 are still allowed for local connections ssl = required ...
Konfiguration - Authentifizierung: passwd-file
Standardmäßig würde Dovecot den Authentifikationsmechanismus /etc/passwd & /etc/shadow wie in der Konfigurationsdatei auth-system.conf.ext
beschrieben benutzen.
Deshalb ist /etc/passwd & /etc/shadow aus nachfolgenden Gründen jedoch sehr unpraktisch
- Jeder Benutzer muss unter Linux angelegt werden (/etc/passwd & /etc/shadow)-Einträge
- Keine Hinterlegung von personalisierten Einstellungen möglich, wie z.B. quotas
- Keine e-Mail-Adressen als Login-Kennung möglich
- Keine Klartextpasswörter für sichere Anmeldung wie z.B. mit CRAM-MD5 möglich
Um passwd-file als Authentifizierungsmöglichkeit nutzen zu können, sind nachfolgende Änderungen notwendig.
/etc/dovecot/users
Um passwd-file als Authentifizierungsmöglichkeit nutzen zu können, müssen die virtuellen Benutzer in einer Datei gespeichert werden. Dazu soll eine Datei mit nachfolgendem Pfad und Namen
/etc/dovecot/users
mit nachfolgendem Befehl angelegt werden.
# vim /etc/dovecot/users
Der Inhalt der Datei /etc/dovecot/users
muss mindestens nachfolgenden Aufbau haben, wobei die Felder
- <(gecos)>
- <shell>
- <extra_fields>
nicht vorhanden sein müssen und ggf. (außer <extra_fields> am Ende der Zeile) mit ::
, leer gelassen werden können!
<username>:{CODIERUNG}<password>:<uid>:<gid>:<realname>:<home>:<(gecos)>:<extra_fields>
Beispiele:
klaus:{PLAIN}geheim:10000:10000:Klaus Tachtler:/var/spool/vmail/tachtler.net/klaus:: petra:{PLAIN}geheim:10000:10000:Petra Tachtler:/var/spool/vmail/tachtler.net/petra::
oder
klaus@tachtler.net:{PLAIN}geheim:10000:10000::/var/spool/vmail/tachtler.net/klaus:: petra@tachtler.net:{PLAIN}geheim:10000:10000::/var/spool/vmail/tachtler.net/petra::
Abschließend sollten noch die Besitzrechte und die Dateirechte von /etc/dovecot/users
mit nachfolgenden Befehlen angepasst werden.
Besitzrechte:
# chown root.dovecot /etc/dovecot/users
Dateirechte:
# chmod 640 /etc/dovecot/users
/etc/dovecot/conf.d/10-auth.conf
Dovecot bringt in der Konfigurationsdatei
/etc/dovecot/conf.d/10-auth.conf
ganz am Ende der Konfigurationsdatei vorbereitete include
-Dateien mit, welche für die verschiedenen Authentifizierungsquellen bereits grundlegend vorkonfiguriert sind und nur nun angepasst werden müssen.
Hier muss der Eintrag
!include auth-system.conf.ext
auskommentiert werden, und der Eintrag
#!include auth-passwdfile.conf.ext
aktiviert werden
Vorher (Standard): (Nur relevanter Ausschnitt):
... !include auth-system.conf.ext #!include auth-sql.conf.ext #!include auth-ldap.conf.ext #!include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext
Nachher: (Nur relevanter Ausschnitt):
... # Tachtler # default: !include auth-system.conf.ext # !include auth-system.conf.ext #!include auth-sql.conf.ext #!include auth-ldap.conf.ext # Tachtler # default: #!include auth-passwdfile.conf.ext !include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
In der Konfigurationsdatei /etc/dovecot/conf.d/auth-passwdfile.conf.ext
sind nun die Einstellungen enthalten, die Dovecot zur Authentifizierung benötigt.
- passdb {…} - zur Verifizierung von Benutzername und Passwort
- userdb {…} - enthält weitere Parameter zum Benutzer
(Vollständige Konfigurationsdatei)
# Authentication for passwd-file users. Included from 10-auth.conf. # # passwd-like file with specified location. # <doc/wiki/AuthDatabase.PasswdFile.txt> passdb { driver = passwd-file args = scheme=CRYPT username_format=%u /etc/dovecot/users } userdb { driver = passwd-file args = username_format=%u /etc/dovecot/users # Default fields that can be overridden by passwd-file #default_fields = quota_rule=*:storage=1G # Override fields from passwd-file #override_fields = home=/home/virtual/%u }
HINWEIS - Es sind keine Anpassungen notwendig !!!
Erster Start
Bevor der der dovecot
-Daemon/Dienst zum ersten mal gestartet werden soll, ist eine Überprüfung der korrekten Konfiguration durch nachfolgenden Befehl, zu empfehlen
# doveconf -n # 2.2.10: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-431.5.1.el6.x86_64 x86_64 CentOS release 6.5 (Final) auth_debug = yes auth_mechanisms = plain digest-md5 cram-md5 login auth_verbose = yes disable_plaintext_auth = no mail_debug = yes mail_location = maildir:~/Maildir mbox_write_locks = fcntl namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = INBOX/ separator = / } passdb { args = scheme=CRYPT username_format=%u /etc/dovecot/users driver = passwd-file } protocols = imap lmtp service lmtp { inet_listener lmtp { address = 192.168.0.80 port = 24 } } ssl = no ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { args = username_format=%u /etc/dovecot/users driver = passwd-file } verbose_proctitle = yes
HINWEIS - die Konfiguration des dovecot
-Daemon/Dienst konnte korrekt gelesen werden, wenn die Konfiguration erscheint, was letztendlich zwar nicht bedeutet, das Sie auch korrekt ist, aber syntaktische Fehler ausschließt !!!
Danach kann der dovecot-Server mit nachfolgendem Befehle gestartet werden:
# service dovecot start Starting Dovecot Imap: [ OK ]
Überprüfung erfolgreicher Start
Um zu Überprüfen, ob der Start des dovecot
-Daemons/Dienstes erfolgreich durchgeführt wurden, kann nachfolgender Befehl genutzt werden:
# netstat -tulpen | grep dovecot tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 0 3320425 7398/dovecot tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 0 3320427 7398/dovecot tcp 0 0 192.168.0:24 0.0.0.0:* LISTEN 0 3699647 7398/dovecot tcp 0 0 :::143 :::* LISTEN 0 3320426 7398/dovecot tcp 0 0 :::993 :::* LISTEN 0 3320428 7398/dovecot
oder auch dieser Befehl:
# ps auxwf | grep dovecot root 7909 0.0 0.0 103244 828 pts/0 S+ 12:26 0:00 \_ grep dovecot root 7398 0.0 0.0 23824 1324 ? Ss 12:11 0:00 /usr/sbin/dovecot dovecot 7400 0.0 0.0 13304 1124 ? S 12:11 0:00 \_ dovecot/anvil [0 connections] root 7401 0.0 0.0 13436 1260 ? S 12:11 0:00 \_ dovecot/log root 7403 0.0 0.1 16276 2128 ? S 12:11 0:00 \_ dovecot/config
bzw. auch dieser Befehl:
# service dovecot status dovecot (pid 7398) is running...
/var/log/maillog
In der LOG-Datei
/var/log/maillog
sollte nur nachfolgende Zeile erscheinen, und keine Fehlermeldungen!
(Nur relevanter Ausschnitt):
... Mar 23 12:11:42 vml000080 dovecot: master: Dovecot v2.2.10 starting up for imap, lmtp (core dumps disabled)
/var/log/messages
In der LOG-Datei
/var/log/messages
sollten keine Fehlermeldungen!
HINWEIS - In der LOG-Datei /var/log/messages
würden Fehlermeldungen stehen, falls die Konfiguration von Dovecot nicht eingelesen werden konnte, bzw. syntaktische Fehler aufweist!
Login-Test mit doveadm
Um zu Überprüfen, ob eine Anmeldung als Benutzer möglich ist, kann nachfolgender Befehl genutzt werden:
# doveadm auth test klaus Password: passdb: klaus auth succeeded extra fields: user=klaus
bzw. je nach Inhalt in der/etc/dovecot/users
# doveadm auth test klaus@tachtler.net Password: passdb: klaus@tachtler.net auth succeeded extra fields: user=klaus@tachtler.net
Dies würde nachfolgende Einträge in der Log-Datei
/var/log/maillog
zur Anzeige bringen, wenn das Log-Ausgabe wie in diesem internen Link beschrieben
gesetzt wurde: (Nur relevanter Ausschnitt):
... dovecot: auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth ... dovecot: auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_mysql.so ... dovecot: auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_pgsql.so ... dovecot: auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so ... dovecot: auth: Debug: Wrote new auth token secret to /var/run/dovecot/auth-token-secret.dat ... dovecot: auth: Debug: passwd-file /etc/dovecot/users: Read 2 users in 0 secs ... dovecot: auth: Debug: auth client connected (pid=0) ... dovecot: auth: Debug: client in: AUTH#0111#011PLAIN#011service=doveadm#011resp=<hidden> ... dovecot: auth: Debug: passwd-file(klaus): lookup: user=klaus file=/etc/dovecot/users ... dovecot: auth: Debug: client passdb out: OK#0111#011user=klaus
Login-Test mit telnet
Um zu Überprüfen, ob eine Anmeldung als Benutzer von einem entfernten Rechner möglich ist, kann nachfolgender Befehl genutzt werden:
# telnet 192.168.0.80 143 Trying 192.168.0.80... Connected to 192.168.0.80. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready. a1 login klaus geheim a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in a2 list "" "*" * LIST (\HasChildren) "/" INBOX a2 OK List completed. a3 logout * BYE Logging out a3 OK Logout completed. Connection closed by foreign host.
Erforderliche Benutzereingaben:
telnet 192.168.0.80 143
a1 login klaus geheim
a2 list "" "*"
a3 logout
bzw. je nach Inhalt in der/etc/dovecot/users
# telnet 10.0.0.80 143 Trying 10.0.0.80... Connected to 10.0.0.80. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready. b1 login klaus@tachtler.net geheim b1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in b2 list "" "*" * LIST (\HasChildren) "/" INBOX b2 OK List completed. b3 logout * BYE Logging out b3 OK Logout completed. Connection closed by foreign host.
Erforderliche Benutzereingaben:
telnet 192.168.0.80 143
b1 login klaus@chtler.net geheim
b2 list "" "*"
b3 logout
Nach dem Auflisten des (Postfaches), des Benutzers, würde auch das home
-Verzeichnis des Benutzers im Dateisystem angelegt werden, falls dies noch nicht geschehen sein sollte.
Dies kann mit nachfolgendem Befehl überprüft werden:
# ls -la /var/spool/vmail/* /var/spool/vmail/lost+found: total 52 drwx------ 2 vmail vmail 49152 Mar 23 09:30 . drwxr-xr-x. 4 vmail vmail 4096 Mar 23 12:56 .. /var/spool/vmail/tachtler.net: total 12 drwx------ 3 vmail vmail 4096 Mar 23 12:56 . drwxr-xr-x. 4 vmail vmail 4096 Mar 23 12:56 .. drwx------ 3 vmail vmail 4096 Mar 23 12:56 klaus
Unterhalb von /var/spool/vmail/tachtler.net/klaus
, sollte dann das Maildir
-Verzeichnis entstanden sein, was mit nachfolgendem Befehl überprüft werden kann:
# ls -la /var/spool/vmail/tachtler.net/klaus total 12 drwx------ 3 vmail vmail 4096 Mar 23 12:56 . drwx------ 3 vmail vmail 4096 Mar 23 12:56 .. drwx------ 2 vmail vmail 4096 Mar 23 12:56 Maildir
Ausgabe Benutzerdaten
Mit nachfolgendem Befehl, gibt Dovecot eine Liste aller ihm bekannten Benutzer aus:
# doveadm user '*' klaus@tachtler.net petra@tachtler.net
Um zu Überprüfen, welche Benutzerdaten Dovecot bekannt sind, kann nachfolgender Befehl genutzt werden:
# doveadm user klaus field value uid 10000 gid 10000 home /var/spool/vmail/tachtler.net/klaus mail maildir:~/Maildir
bzw. je nach Inhalt in der/etc/dovecot/users
# doveadm user klaus@tachtler.net field value uid 10000 gid 10000 home /var/spool/vmail/tachtler.net/klaus mail maildir:~/Maildir
Weitereführende Konfigurationen
Unter nachfolgenden internen Links, werden weiterführende Konfiguration durchgeführt
Dovecot Master-User
- Interner Link zu: Dovecot Master-User
Dovecot SSL/TLS
- Interner Link zu: Dovecot SSL/TLS
Dovecot Quotas
- Interner Link zu: Dovecot Quotas
- Interner Link zu: Dovecot Quotas - SQL-Backend
Dovecot Shares
- Interner Link zu: Dovecot Shares
Dovecot Pigeonhole (Sieve)
- Interner Link zu: Dovecot Pigeonhole (Sieve)
- Interner Link zu: Dovecot Pigeonhole (Sieve) - Horde.org - ingo
Dovecot zlib-Komprimierung
- Interner Link zu: Dovecot zlib-Komprimierung
Dovecot Tuning
- Interner Link zu: Dovecot Tuning
Dovecot Sicherheit
- Interner Link zu: Dovecot Sicherheit
Dovecot Plugins
- Interner Link zu: Dovecot Plugins
Dovecot Authentifizierung - passwd-file
- Interner Link zu: Dovecot Authentifizierung - passwd-file
Dovecot Authentifizierung - SQL
- Interner Link zu: Dovecot Authentifizierung - SQL
- Interner Link zu: Dovecot Authentifizierung - SQL - Horde.org - Horde
Dovecot Migration - cyrus2dovecot
- Interner Link zu: Dovecot Migration - cyrus2dovecot
Dovecot Backup - Skript
- Interner Link zu: Dovecot Backup - Skript