Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dovecot_centos_6

Dies ist eine alte Version des Dokuments!


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:

  1. 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
  2. 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
  3. (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:

  1. Kennung = e-Mail-Adresse (localpart@domain)
  2. 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.

  1. dürfen Ordner in der gleichen Hierarchieebene wie die INBOX vorhanden sein
  2. 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.

  1. INBOX, INBOX.Unterordner, INBOX.Unterordner.Unterordner
  2. 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:

  • dovecot - ist im base-Repository von CentOS enthalten.

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:

  • perl-JSON-XS.x86_64 - ATrpms-Stable-Repository und hat als Abhängigkeit
  • perl-common-sense.noarch - EPEL-Repository

/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.

  1. Welche Art von „Ablagesystem“ Mailbox-Format verwendet werden soll
  2. 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,

  1. unix-Socket - wenn der MTA z.B. Postfix und MDA Dovecot auf ein und dem selben Servern sind.
  2. TCP/IP-Verbindung - wenn der MTA z.B. Postfix und MDA Dovecot nicht auf dem selben Servern sind.

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:

  1. passdb - Benutzername und Passwort
  2. 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öglich
  • LOGIN = Passwortübermittlung im Klartext, Speicherung Verschlüsselt möglich
  • CRAM = 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:

  1. telnet 192.168.0.80 143
  2. a1 login klaus geheim
  3. a2 list "" "*"
  4. 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:

  1. telnet 192.168.0.80 143
  2. b1 login klaus@chtler.net geheim
  3. b2 list "" "*"
  4. 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

Dovecot SSL/TLS

Dovecot Quotas

Dovecot Shares

Dovecot Pigeonhole (Sieve)

Dovecot zlib-Komprimierung

Dovecot Tuning

Dovecot Sicherheit

Dovecot Plugins

Dovecot Authentifizierung - passwd-file

Dovecot Authentifizierung - SQL

Dovecot Migration - cyrus2dovecot

Dovecot Backup - Skript

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/dovecot_centos_6.1436363551.txt.gz · Zuletzt geändert: 2015/07/08 15:52 von klaus