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, INBOXUnterordner, INBOXUnterordnerUnterordner ===== 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: * http://dovecot.org/download.html bzw. * http://packages.atrpms.net/dist/el6/dovecot/ ===== 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: * ATrpms-Repository einbinden * EPEL-Repository einbinden 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): <code> [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 … </code> ==== /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): <code> … [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 … </code> ==== /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): <code> … [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 … </code> ==== ATrpms yum Test ==== Nachfolgender Befehl löscht die temporär gespeicherten Informationen über die Repository-Daten in yum: <code> # yum clean all Loaded plugins: priorities Cleaning repos: atrpms atrpms-testing base epel extras rpmforge updates Cleaning up Everything </code> Anschließend kann durch nachfolgenden Befehl überprüft werden, ob das Dovecot-Paket aus dem ATrpms-Testing-Repository bevorzugt werden würde: <code> # 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 </code> ==== Pakete installieren ==== Mit nachfolgendem Befehl, wird das Pakete dovecot installiert: <code> # 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! </code> Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket dovecot installiert wurden. <code> # 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 </code> ==== Installierte Benutzer ==== Folgender Benutzer wurde ebenfalls angelegt, was mit folgende Befehl überprüft werden kann: <code> # 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 </code> Desweiteren wurden auch folgende Gruppen angelegt, was mit folgendem Befehl überprüft werden kann: <code> # cat /etc/group | grep dove dovecot:x:97: dovenull:x:398: </code> ==== 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: <code> # chkconfig dovecot on </code> 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: <code> # chkconfig –list | grep dovecot dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off </code> ===== 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) <code> … # 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 </code> Mit nachfolgendem Befehl, können die Konfigurationsverzeichnisse von Dovecot aufgelistet werden: <code> # 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 </code> ==== 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 ^ | <code># doveconf</code> | Listet die aktuelle Konfiguration auf | | <code># doveconf -a </code> | Listet ebenfalls die aktuelle Konfiguration auf | | <code># doveconf -d </code> | Listet nur die default Konfigurationswerte auf, anstelle der aktuellen Konfiguration | | <code># doveconf -m <MODUL> </code> | Listet die aktuelle Konfiguration, aber nur auf das angegeben Modul auf - \\z.B.: imap, imap-login, lmtp, pop3 und pop3-login | | <code># doveconf -n </code> | Listet nur alle nicht Standard Konfigurationswerte auf | | <code># doveconf -N </code> | 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: <code> # man doveconf </code> 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: <code> # 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 } </code> ===== 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: <code ini> … # Protocols we want to be serving. # Tachtler # default: #protocols = imap pop3 lmtp protocols = imap lmtp … </code> === 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: <code ini> … # 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 … </code> Nachfolgende Befehle demonstrieren die Anzeige eines bei Dovecot angemeldeten Benutzer, einmal - ohne und einmal mit - erweiterter Prozessliste-/übersicht. ohne - erweiterter Prozessliste-/übersicht <code> # ps ax | grep dovecot/imap 11346 ? S 0:00 dovecot/imap 11348 pts/2 S+ 0:00 grep –color=auto dovecot/imap </code> mit - erweiterter Prozessliste-/übersicht <code> # 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 </code> ==== /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). <code ini> … ## ## Logging verbosity and debugging. ## # Log unsuccessful authentication attempts and the reasons why they failed. # Tachtler # default: #auth_verbose = no auth_verbose = yes … </code> === 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). <code ini> … # Even more verbose logging for debugging purposes. Shows for example SQL # queries. # Tachtler # default: #auth_debug = no auth_debug = yes … </code> === 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). <code> … # 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 … </code> ==== /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: * Dovecot CentOS 6 - Vorbereitung - Mailbox-Format :!: HINWEIS - Hier soll das „Ablagesystem“ bzw. der Mailbox-Format Maildir verwendet werden! (Nur relevanter Ausschnitt): <code ini> … # 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 … </code> :!: 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: <code ini> mail_location = maildir:~/Maildir </code> ^ 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): <code ini> … # 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 … </code> == 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): <code ini> … # 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 = / … </code> == 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): <code ini> … # Prefix required to access this namespace. This needs to be different for # all namespaces. For example „Public/“. # Tachtler # default: #prefix = prefix = INBOX/ … </code> == 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): <code ini> … # Physical location of the mailbox. This is in same format as # mail_location, which is also the default for it. #location = … </code> == 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): <code ini> … # There can be only one INBOX, and this setting defines which namespace # has it. inbox = yes … </code> == hidden == Diese Definition kann dazu verwendet werden, ganze namespaces vor einem client zu verstecken. (Nur relevanter Ausschnitt): <code ini> … # 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 … </code> == 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): <code ini> … # 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 … </code> == subscriptions == Mit Dieser Definition wird festgelegt, das der namespace seine eigene „Abonnementenliste“ führt. (Nur relevanter Ausschnitt): <code ini> … # Namespace handles its own subscriptions. If set to „no“, the parent # namespace handles them (empty prefix should always have this as „yes“) #subscriptions = yes … </code> ==== /etc/dovecot/conf.d/10-master.conf ==== Damit Dovecot auch auf Anfragen von z.B. Postfix über das Protokoll lmtp, wie hier beschrieben * Dovecot CentOS 6 - Konfiguration - Basiskonfiguration - /etc/dovecot/dovecot.conf 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, - unix-Socket - wenn der MTA z.B. Postfix und MDA Dovecot auf ein und dem selben Servern sind. - 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) <code ini> … 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 } … </code> 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: * Dovecot CentOS 6 - Vorbereitung - Authentifizierung * Dovecot CentOS 6 - Vorbereitung - Kontodatenablage ==== 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): <code ini> … !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 </code> 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 * Dovecot CentOS 6 - Authentifizierungsabfragen 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 Order (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: <code> # groupadd -g 10000 vmail </code> Zur Überprüfung ob die Erstellung der neuen Gruppe erfolgreich war, kann nachfolgender Befehl verwendet werden: <code> # cat /etc/group | grep 10000 vmail:x:10000: </code> === 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: <code> # useradd -c 'Virtual User Mail' -u 10000 -g 10000 -d /var/spool/vmail -M -s /sbin/nologin vmail </code> Zur Überprüfung ob die Erstellung des neuen Benutzers erfolgreich war, kann nachfolgender Befehl verwendet werden: <code> # cat /etc/passwd | grep 10000 vmail:x:10000:10000:Virtual User Mail:/var/spool/vmail:/sbin/nologin </code> :!: 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: <code> # chown -R vmail:vmail /var/spool/vmail </code> Zur Überprüfung ob das Setzen des Dummy-Benutzers als Eigentümer erfolgreich war, kann nachfolgender Befehl verwendet werden: <code> # ls -la /var/spool | grep vmail drwxr-xr-x. 3 vmail vmail 4096 Mar 23 09:30 vmail </code> ==== 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): <code ini> … # 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 … </code> Falls SSL/TLS-Verschlüsselung realisiert wurde, sollte die Konfiguration wie folgt aussehen. (Nur relevanter Ausschnitt): <code ini> … # 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 … </code> === 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): <code ini> … # 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 </code> 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 * Dovecot CentOS 6 - Konfiguration - Authentifizierung - Authentifizierungsmethoden Nachfolgende Änderung fügt zu der bereits bestehenden Authentifizierungsmethode PLAIN noch die Authentifizierungsmethoden CRAM-MD5, DIGEST-MD5 und LOGIN hinzu: (Nur relevanter Ausschnitt) <code ini> … # 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 … </code> ==== /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): <code ini> … # 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 … </code> Falls SSL/TLS-Verschlüsselung realisiert wurde und die Testphase abgeschlossen ist, sollte die Konfiguration wie folgt aussehen. (Nur relevanter Ausschnitt): <code ini> … # 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 … </code> ===== 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. <code> # vim /etc/dovecot/users </code> 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! <code> <username>:{CODIERUNG}<password>:<uid>:<gid>:<realname>:<home>:<(gecos)>:<extra_fields> </code> Beispiele: <code ini> 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:: </code> oder <code ini> 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:: </code> Abschließend sollten noch die Besitzrechte und die Dateirechte von /etc/dovecot/users mit nachfolgenden Befehlen angepasst werden. Besitzrechte: <code> # chown root.dovecot /etc/dovecot/users </code> Dateirechte: <code> # chmod 640 /etc/dovecot/users </code> ==== /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 <code ini> !include auth-system.conf.ext </code> auskommentiert werden, und der Eintrag <code ini> #!include auth-passwdfile.conf.ext </code> aktiviert werden Vorher (Standard): (Nur relevanter Ausschnitt): <code ini> … !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 </code> Nachher: (Nur relevanter Ausschnitt): <code ini> … # 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 </code> ==== /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) <code ini> # 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 } </code> :!: 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 <code> # 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 </code> :!: 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: <code> # service dovecot start Starting Dovecot Imap: [ OK ] </code> ==== Überprüfung erfolgreicher Start ==== Um zu Überprüfen, ob der Start des dovecot-Daemons/Dienstes erfolgreich durchgeführt wurden, kann nachfolgender Befehl genutzt werden: <code> # 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 </code> oder auch dieser Befehl: <code> # 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 </code> bzw. auch dieser Befehl: <code> # service dovecot status dovecot (pid 7398) is running… </code> === /var/log/maillog === In der LOG-Datei * /var/log/maillog sollte nur nachfolgende Zeile erscheinen, und keine Fehlermeldungen! (Nur relevanter Ausschnitt): <code> … Mar 23 12:11:42 vml000080 dovecot: master: Dovecot v2.2.10 starting up for imap, lmtp (core dumps disabled) </code> === /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: <code> # doveadm auth test klaus Password: passdb: klaus auth succeeded extra fields: user=klaus </code> bzw. je nach Inhalt in der/etc/dovecot/users <code> # doveadm auth test klaus@tachtler.net Password: passdb: klaus@tachtler.net auth succeeded extra fields: user=klaus@tachtler.net </code> 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 * Dovecot CentOS 6 - Konfiguration - Basiskonfiguration - /etc/dovecot/conf.d/10-logging.conf gesetzt wurde: (Nur relevanter Ausschnitt): <code> … 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 </code> ==== 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: <code ini> # 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. </code> Erforderliche Benutzereingaben: - <code ini>telnet 192.168.0.80 143</code> - <code ini>a1 login klaus geheim</code> - <code ini>a2 list „“ „*“</code> - <code ini>a3 logout</code> bzw. je nach Inhalt in der/etc/dovecot/users <code ini> # 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. </code> Erforderliche Benutzereingaben: - <code ini>telnet 192.168.0.80 143</code> - <code ini>b1 login klaus@chtler.net geheim</code> - <code ini>b2 list „“ „*“</code> - <code ini>b3 logout</code> 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: <code> # 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 </code> Unterhalb von /var/spool/vmail/tachtler.net/klaus, sollte dann das Maildir-Verzeichnis entstanden sein, was mit nachfolgendem Befehl überprüft werden kann: <code> # 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 </code> ==== Ausgabe Benutzerdaten ==== Mit nachfolgendem Befehl, gibt Dovecot eine Liste aller ihm bekannten Benutzer aus: <code> # doveadm user '*' klaus@tachtler.net petra@tachtler.net </code> Um zu Überprüfen, welche Benutzerdaten Dovecot bekannt sind, kann nachfolgender Befehl genutzt werden: <code> # doveadm user klaus field value uid 10000 gid 10000 home /var/spool/vmail/tachtler.net/klaus mail maildir:~/Maildir </code> bzw. je nach Inhalt in der/etc/dovecot/users <code> # doveadm user klaus@tachtler.net field value uid 10000 gid 10000 home /var/spool/vmail/tachtler.net/klaus mail maildir:~/Maildir </code> ===== 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 ==== 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
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.1397574744.txt.gz · Zuletzt geändert: 2014/04/15 17:12 von klaus