Inhaltsverzeichnis
Dovecot CentOS 7
Diese Dokumentation ist nach dem Kurs: Dovecot bei www.heinlein-support.de - Peer Heinlein entstanden. Hier noch einmal meinen Dank für die Informationen und das ☛ Buch: Dovecot ☚ |
Dovecot ist ein Open-Source-IMAP-und POP3-E-Mail-Server für Linux bzw. UNIX-ähnlichen Systeme, entwickelt mit dem Hauptaugenmerk auf Sicherheit. Dovecot ist eine ausgezeichnete Wahl für kleine und große Installationen. Dovecot ist schnell und einfach zu installieren, erfordert keine besonderen Voraussetzungen und ist Ressourcenschonend.
Dovecot wird von Timo Sirainen entwickelt.
Beschreibung | Externer Link |
---|---|
Homepage | http://dovecot.org |
Dokumentation | http://dovecot.org/documentation.html |
Wiki Dovecot2 | http://wiki2.dovecot.org/ |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Vorbereitungen
Bevor mit der Installation, Konfiguration und der Inbetriebnahme von Dovecot begonnen werden kann, soll hier kurz dargestellt werden, welche Art von Einsatz von Dovecot hier realisiert werden soll.
Vorbereitung - Einsatzzweck
Der nachfolgend beschrieben Einsatzzweck, soll einen Dovecot in eher kleinerer Ausführung darstellen, was jedoch nicht bedeutet, das die nachfolgend beschriebene Installation und Konfiguration, nicht auch für eine
- Anzahl von mehreren hundert Benutzern mit bis zu einem
- Datenvolumen von 3 TB Plattenspeicherplatz ermöglichen würde.
Größere Installationen würden jedoch ein etwas anderes, abern nicht grundlegend anderes Vorgehen benötigen!
Vorbereitung - Mailbox-Format
Eine der Entscheidungen sollte sein, welches „Ablagesystem“ Mailbox-Format zum Einsatz kommen soll.
Grundsätzlich gibt es drei sehr bekannte und häufig benutzte „Ablagesysteme“ Mailbox-Formate:
- MailDir - siehe auch, externe Links Maildir, Wikipedia - Maildir
- ✔ jede e-Mail liegt in einer eigenen Datei direkt im Dateisystem
- ✔ robust, einfach wartbar da nur Ordnerstruktur im Dateisystem
- ✔ keine Datenbank im Hintergrund, keine Dataisystem-Locking-Mechanismen, NFS-fähig
- ✘ viele kleine Dateien, aufwendiger beim Backup (Sicherung) der Dateien
- ☛ Einsatz bis ca. 3 TB empfohlen
- mbox - siehe auch, externe Links Mbox, Wikipedia - Mbox
- ✔ schnelleres Backup (Sicherung) da nur wenige Dateien
- ✘ Dateisystem-Locking-Mechanismen werden benötigt
- ✘ höhere I/O-Last beim löschen von e-Mails aus der einen großen Datei
- ✘ Risiko, da alle e-Mails in einer großen Datei, direkt im Dateisystem liegen
- ☛ Einsatz nicht mehr zu empfehlen
- (m)dbox - siehe auch, externer Link (m)dbox
- ✔ schnelleres Backup (Sicherung) da nur wenige Dateien
- ✔ Verwendung vin aktuelle zwei Speicherorten (ALT-Storage) möglich
- ✔ optimiertes Dovecot eigenes Format für größere Installationen
- ✘ Verwendung einer eingebetteten, internen Datenbank (Wikipedia - Berkely DB) im Hintergrund
- ☛ Administration nur noch über
doveadm
-Befehle möglich = höheres „KnowHow“ erforderlich - ☛ bei der Sicherung (Backup) muss die Datenbank und die Abhängigkeit zu dieser berücksichtigt werden
- ☛ Einsatz ab ca. 3 TB empfohlen
Vorbereitung - Authentifizierung
Eine weitere der Entscheidungen sollte ebenfalls sein, wie sich die Benutzer authentifizieren sollen
Die Authentifizierung bei Dovecot wird als, und soll auch hier als
passdb
Konfiguration beschrieben werden.
Mögliche Verfahren sind hier:
- PAM (
/etc/passwd
) - passwd-file (
/etc/dovecot/users
) - für Benutzer ohne Login-shell
Möglichkeit - LDAP
- ActiveDirectory
- SQL
um nur einige zu nennen.
Eine weitere Überlegung sollte sein, wie die Kennung für eine Anmeldung an Dovecot aussehen soll.
Nachfolgende zwei Lösungswege sollten in die Überlegungen mit einbezogen werden, beide haben Vor- und Nachteile:
- Kennung = e-Mail-Adresse (localpart@domain)
- Kennung = username
Vorbereitung - Kontodatenablage
Eine weitere der Entscheidungen sollte ebenfalls sein, wo ggf. weitere Kontodaten / benutzerspezifische Einstellungen für Dovecot hinterlegt werden können.
Die Hinterlegung von Kontodaten / benutzerspezifische Einstellungen wird als, und soll auch hier als
userdb
Konfiguration beschrieben werden.
Mögliche Verfahren sind hier:
- passwd-file (
/etc/dovecot/users
) - für Benutzer ohne Login-shell
Möglichkeit - LDAP
- ActiveDirectory
- SQL
um nur einige zu nennen.
Beispiele für die Hinterlegung von Kontodaten / benutzerspezifische Einstellungen in Dovecot wären z.B.
- benutzerspezifische Quotas
- abweichende Login-Namen zur e-Mail-Adresse
- Pfadspezifikationen für die e-Mail-Verzeichnisse
Vorbereitung - IMAP-Namensraum
Der IMAP-Namensraum legt fest, welche der beiden Varianten der Darstellung von Ordnern im Hierarchiebaum anzuwenden ist. Die beiden Möglichkeiten sind.
- dürfen Ordner in der gleichen Hierarchieebene wie die INBOX vorhanden sein
- dürfen Ordner nur unterhalb der Hierarchieebene wie die INBOX vorhanden sein
Des weiteren ist festzulegen, welches Trennzeichnen für Trennung der einzelnen Hierarchien voneinander verwendet werden soll. Historisch bedingt ist das der Punkt (.). Oder sollte ggf., wenn Punkte z.B. in den e-Mail-Adressen erlaubt sind, dies der Schrägstrich (/) sein.
Vorbereitung - Ordner-Prefix
Des weiteren ist festzulegen, welcher Ordner-Prefix für Trennung der einzelnen Hierarchien voneinander verwendet werden soll. Historisch bedingt ist das der Punkt (.). Oder sollte ggf., wenn Punkte z.B. in den e-Mail-Adressen erlaubt sind, dies der Schrägstrich (/) sein.
Festzulegen ist also, welche der beiden nachfolgenden Varianten gewählt werden soll.
- INBOX, INBOX.Unterordner, INBOX.Unterordner.Unterordner
- INBOX, INBOX\/Unterordner, INBOX\/Unterordner\/Unterordner
Paketinformation
Jede ernst zunehmende Linux-Distribution sollte ein vorkonfiguriertes Dovecot-Paket mit sich bringen. Deswegen ist eine Installation auch unter CentOS eine Sache des Paket-Managers yum
.
Zur Installation eines Dovecot-Open-Source-IMAP-und POP3-E-Mail-Servers wird nachfolgendes Paket benötigt:
Wer die neuste Version des Dovecot-Open-Source-IMAP-und POP3-E-Mail-Servers als rpm
-Paket installieren möchte, kann unter nachfolgenden externen Links, diese herunterladen:
Herunterladen
Nachfolgend soll ein Drittanbieter-Repository, welches von dem mir sehr geschätzten Michael Nausch betrieben wird und eine sichere und verlässliche Quelle für rpm-Pakete darstellt, wie unter nachfolgendem internen Link dargestellt, eingebunden werden:
Installation
Nachdem das Drittanbieter-Repository
erfolgreich eingebunden wurde, kann mit nachfolgendem Befehl, das rpm
-Paket - dovecot
installiert werden:
# yum install dovecot Loaded plugins: changelog, priorities 102 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package dovecot.x86_64 1:2.2.18-1.el7.centos will be installed --> Processing Dependency: libicuuc.so.50()(64bit) for package: 1:dovecot-2.2.18-1.el7.centos.x86_64 --> Processing Dependency: libicui18n.so.50()(64bit) for package: 1:dovecot-2.2.18-1.el7.centos.x86_64 --> Processing Dependency: libicudata.so.50()(64bit) for package: 1:dovecot-2.2.18-1.el7.centos.x86_64 --> Processing Dependency: libclucene-shared.so.1()(64bit) for package: 1:dovecot-2.2.18-1.el7.centos.x86_64 --> Processing Dependency: libclucene-core.so.1()(64bit) for package: 1:dovecot-2.2.18-1.el7.centos.x86_64 --> Running transaction check ---> Package clucene-core.x86_64 0:2.3.3.4-11.el7 will be installed ---> Package libicu.x86_64 0:50.1.2-11.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: dovecot x86_64 1:2.2.18-1.el7.centos mailserver.guru-os 3.4 M Installing for dependencies: clucene-core x86_64 2.3.3.4-11.el7 base 528 k libicu x86_64 50.1.2-11.el7 base 6.9 M Transaction Summary ================================================================================ Install 1 Package (+2 Dependent packages) Total download size: 11 M Installed size: 37 M Is this ok [y/d/N]: y Downloading packages: (1/3): dovecot-2.2.18-1.el7.centos.x86_64.rpm | 3.4 MB 00:00 (2/3): clucene-core-2.3.3.4-11.el7.x86_64.rpm | 528 kB 00:00 (3/3): libicu-50.1.2-11.el7.x86_64.rpm | 6.9 MB 00:00 -------------------------------------------------------------------------------- Total 18 MB/s | 11 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libicu-50.1.2-11.el7.x86_64 1/3 Installing : clucene-core-2.3.3.4-11.el7.x86_64 2/3 Installing : 1:dovecot-2.2.18-1.el7.centos.x86_64 3/3 Verifying : clucene-core-2.3.3.4-11.el7.x86_64 1/3 Verifying : 1:dovecot-2.2.18-1.el7.centos.x86_64 2/3 Verifying : libicu-50.1.2-11.el7.x86_64 3/3 Installed: dovecot.x86_64 1:2.2.18-1.el7.centos Dependency Installed: clucene-core.x86_64 0:2.3.3.4-11.el7 libicu.x86_64 0:50.1.2-11.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket dovecot
installiert wurden.
# rpm -qil dovecot Name : dovecot Epoch : 1 Version : 2.2.18 Release : 1.el7.centos Architecture: x86_64 Install Date: Wed 08 Jul 2015 02:31:05 PM CEST Group : System Environment/Daemons Size : 11259257 License : MIT and LGPLv2 Signature : RSA/SHA1, Thu 21 May 2015 11:19:07 PM CEST, Key ID 60ecfb9e8195aea0 Source RPM : dovecot-2.2.18-1.el7.centos.src.rpm Build Date : Thu 21 May 2015 11:17:58 PM CEST Build Host : vml000200.dmz.nausch.org Relocations : (not relocatable) Packager : Django <django@mailserver.guru> URL : http://www.dovecot.org/ Summary : Secure imap and pop3 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. The SQL drivers and authentication plug-ins are in their subpackages. /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/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 /usr/bin/doveadm /usr/bin/doveconf /usr/bin/dsync /usr/lib/systemd/system/dovecot.service /usr/lib/systemd/system/dovecot.socket /usr/lib/tmpfiles.d/dovecot.conf /usr/lib64/dovecot /usr/lib64/dovecot/auth /usr/lib64/dovecot/auth/libauthdb_imap.so /usr/lib64/dovecot/auth/libauthdb_ldap.so /usr/lib64/dovecot/auth/libdriver_sqlite.so /usr/lib64/dovecot/auth/libmech_gssapi.so /usr/lib64/dovecot/dict /usr/lib64/dovecot/dict/libdriver_sqlite.so /usr/lib64/dovecot/doveadm /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so /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_last_login_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_quota_clone_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_lucene_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-dsync.so.0 /usr/lib64/dovecot/libdovecot-dsync.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-sieve.so.0 /usr/lib64/dovecot/libdovecot-sieve.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_sqlite.so /usr/lib64/dovecot/libfs_compress.so /usr/lib64/dovecot/libssl_iostream_openssl.so /usr/lib64/dovecot/settings /usr/lib64/dovecot/stats /usr/lib64/dovecot/stats/libstats_mail.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.18 /usr/share/doc/dovecot-2.2.18/AUTHORS /usr/share/doc/dovecot-2.2.18/COPYING /usr/share/doc/dovecot-2.2.18/COPYING.LGPL /usr/share/doc/dovecot-2.2.18/COPYING.MIT /usr/share/doc/dovecot-2.2.18/ChangeLog /usr/share/doc/dovecot-2.2.18/NEWS /usr/share/doc/dovecot-2.2.18/README /usr/share/doc/dovecot-2.2.18/documentation.txt /usr/share/doc/dovecot-2.2.18/dovecot-openssl.cnf /usr/share/doc/dovecot-2.2.18/example-config /usr/share/doc/dovecot-2.2.18/example-config/conf.d /usr/share/doc/dovecot-2.2.18/example-config/conf.d/10-auth.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/10-director.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/10-logging.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/10-mail.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/10-master.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/10-ssl.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/15-lda.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/15-mailboxes.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/20-imap.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/20-lmtp.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/20-pop3.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/90-acl.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/90-plugin.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/90-quota.conf /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-checkpassword.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-deny.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-dict.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-ldap.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-master.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-passwdfile.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-sql.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-static.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-system.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/conf.d/auth-vpopmail.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/dovecot-dict-auth.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/dovecot-dict-sql.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/dovecot-ldap.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/dovecot-sql.conf.ext /usr/share/doc/dovecot-2.2.18/example-config/dovecot.conf /usr/share/doc/dovecot-2.2.18/mkcert.sh /usr/share/doc/dovecot-2.2.18/solr-schema.xml /usr/share/doc/dovecot-2.2.18/wiki /usr/share/doc/dovecot-2.2.18/wiki/ACL.txt /usr/share/doc/dovecot-2.2.18/wiki/AixPluginsSupport.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.CheckPassword.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.Dict.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.LDAP.AuthBinds.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.LDAP.PasswordLookups.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.LDAP.Userdb.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.LDAP.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.Passwd.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.PasswdFile.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.SQL.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.VPopMail.txt /usr/share/doc/dovecot-2.2.18/wiki/AuthDatabase.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Caching.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Kerberos.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.MasterUsers.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Mechanisms.DigestMD5.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Mechanisms.NTLM.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Mechanisms.Winbind.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Mechanisms.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.MultipleDatabases.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.PasswordSchemes.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.Penalty.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.RestrictAccess.txt /usr/share/doc/dovecot-2.2.18/wiki/Authentication.txt /usr/share/doc/dovecot-2.2.18/wiki/BasicConfiguration.txt /usr/share/doc/dovecot-2.2.18/wiki/Chrooting.txt /usr/share/doc/dovecot-2.2.18/wiki/Clients.NegativeUIDs.txt /usr/share/doc/dovecot-2.2.18/wiki/Clients.txt /usr/share/doc/dovecot-2.2.18/wiki/CompilingSource.txt /usr/share/doc/dovecot-2.2.18/wiki/Debugging.Authentication.txt /usr/share/doc/dovecot-2.2.18/wiki/Debugging.ProcessTracing.txt /usr/share/doc/dovecot-2.2.18/wiki/Debugging.Rawlog.txt /usr/share/doc/dovecot-2.2.18/wiki/Debugging.Thunderbird.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Arrays.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.AuthProcess.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.AuthProtocol.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Buffers.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Code.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.DoveadmProtocol.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Dsync.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Indexes.Cache.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Indexes.MailIndexApi.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Indexes.MainIndex.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Indexes.TransactionLog.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Indexes.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.InputStreams.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.MailProcess.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Memory.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.OutputStreams.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Plugins.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Processes.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.ErrorHandling.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Mail.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.MailNamespace.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.MailStorage.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.MailUser.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Mailbox.Save.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Mailbox.Search.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Mailbox.Sync.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Mailbox.Transaction.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Mailbox.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.MailboxList.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Storage.Plugins.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.Strings.txt /usr/share/doc/dovecot-2.2.18/wiki/Design.txt /usr/share/doc/dovecot-2.2.18/wiki/Dict.txt /usr/share/doc/dovecot-2.2.18/wiki/Dictionary.txt /usr/share/doc/dovecot-2.2.18/wiki/Director.txt /usr/share/doc/dovecot-2.2.18/wiki/DomainLost.txt /usr/share/doc/dovecot-2.2.18/wiki/Errors.ChgrpNoPerm.txt /usr/share/doc/dovecot-2.2.18/wiki/FindMailLocation.txt /usr/share/doc/dovecot-2.2.18/wiki/FinishBasicConfiguration.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.EximAndDovecotSASL.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.ImapcProxy.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.PopBSMTPAndDovecot.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.PopRelay.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.PostfixAndDovecotSASL.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.Rootless.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.SimpleVirtualInstall.txt /usr/share/doc/dovecot-2.2.18/wiki/HowTo.txt /usr/share/doc/dovecot-2.2.18/wiki/IndexFiles.txt /usr/share/doc/dovecot-2.2.18/wiki/LDA.Exim.txt /usr/share/doc/dovecot-2.2.18/wiki/LDA.Indexing.txt /usr/share/doc/dovecot-2.2.18/wiki/LDA.Postfix.txt /usr/share/doc/dovecot-2.2.18/wiki/LDA.Qmail.txt /usr/share/doc/dovecot-2.2.18/wiki/LDA.Sendmail.txt /usr/share/doc/dovecot-2.2.18/wiki/LDA.txt /usr/share/doc/dovecot-2.2.18/wiki/LMTP.Exim.txt /usr/share/doc/dovecot-2.2.18/wiki/LMTP.txt /usr/share/doc/dovecot-2.2.18/wiki/Logging.txt /usr/share/doc/dovecot-2.2.18/wiki/LoginProcess.txt /usr/share/doc/dovecot-2.2.18/wiki/MDA.txt /usr/share/doc/dovecot-2.2.18/wiki/MTA.txt /usr/share/doc/dovecot-2.2.18/wiki/MailLocation.LocalDisk.txt /usr/share/doc/dovecot-2.2.18/wiki/MailLocation.Maildir.txt /usr/share/doc/dovecot-2.2.18/wiki/MailLocation.SharedDisk.txt /usr/share/doc/dovecot-2.2.18/wiki/MailLocation.dbox.txt /usr/share/doc/dovecot-2.2.18/wiki/MailLocation.mbox.txt /usr/share/doc/dovecot-2.2.18/wiki/MailLocation.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.Cydir.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.MH.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.Maildir.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.dbox.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.mailstore.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.mbox.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.mbx.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxFormat.txt /usr/share/doc/dovecot-2.2.18/wiki/MailboxSettings.txt /usr/share/doc/dovecot-2.2.18/wiki/MboxChildFolders.txt /usr/share/doc/dovecot-2.2.18/wiki/MboxLocking.txt /usr/share/doc/dovecot-2.2.18/wiki/MboxProblems.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.BincIMAP.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Courier.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Cyrus.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Dsync.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Gmail.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Linuxconf.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.MailFormat.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Online.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Teapop.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.UW.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.Vm-pop3d.txt /usr/share/doc/dovecot-2.2.18/wiki/Migration.txt /usr/share/doc/dovecot-2.2.18/wiki/MissingMailboxes.txt /usr/share/doc/dovecot-2.2.18/wiki/Mountpoints.txt /usr/share/doc/dovecot-2.2.18/wiki/NFS.txt /usr/share/doc/dovecot-2.2.18/wiki/Namespaces.txt /usr/share/doc/dovecot-2.2.18/wiki/OSCompatibility.txt /usr/share/doc/dovecot-2.2.18/wiki/POP3Server.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.BSDAuth.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.AllowNets.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.Host.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.NoDelay.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.NoLogin.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.Proxy.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.User.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.ExtraFields.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.IMAP.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.PAM.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.Shadow.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.Static.txt /usr/share/doc/dovecot-2.2.18/wiki/PasswordDatabase.txt /usr/share/doc/dovecot-2.2.18/wiki/PerformanceTuning.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Installation.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.ManageSieve.Clients.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.ManageSieve.Configuration.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.ManageSieve.Install.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.ManageSieve.Troubleshooting.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.ManageSieve.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Configuration.Dict.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Configuration.File.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Configuration.LDAP.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Configuration.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Examples.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Extensions.Duplicate.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Extensions.Editheader.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Extensions.Include.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Extensions.SpamtestVirustest.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Extensions.Vacation.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Extensions.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Plugins.Extdata.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Plugins.Extprograms.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Plugins.Pipe.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Plugins.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Troubleshooting.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.Usage.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.Sieve.txt /usr/share/doc/dovecot-2.2.18/wiki/Pigeonhole.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Autocreate.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Compress.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Expire.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.FTS.Lucene.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.FTS.Solr.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.FTS.Squat.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.FTS.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.LastLogin.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Lazyexpunge.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Listescape.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.MailFilter.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.MailLog.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.MailboxAlias.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Notify.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.QuotaClone.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Snarf.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Stats.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Trash.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Virtual.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.Zlib.txt /usr/share/doc/dovecot-2.2.18/wiki/Plugins.txt /usr/share/doc/dovecot-2.2.18/wiki/PostLoginScripting.txt /usr/share/doc/dovecot-2.2.18/wiki/PreAuth.txt /usr/share/doc/dovecot-2.2.18/wiki/QuickConfiguration.txt /usr/share/doc/dovecot-2.2.18/wiki/Quota.Configuration.txt /usr/share/doc/dovecot-2.2.18/wiki/Quota.Dict.txt /usr/share/doc/dovecot-2.2.18/wiki/Quota.Dirsize.txt /usr/share/doc/dovecot-2.2.18/wiki/Quota.FS.txt /usr/share/doc/dovecot-2.2.18/wiki/Quota.Maildir.txt /usr/share/doc/dovecot-2.2.18/wiki/Quota.txt /usr/share/doc/dovecot-2.2.18/wiki/Replication.txt /usr/share/doc/dovecot-2.2.18/wiki/RunningDovecot.txt /usr/share/doc/dovecot-2.2.18/wiki/SSL.CertificateClientImporting.txt /usr/share/doc/dovecot-2.2.18/wiki/SSL.CertificateCreation.txt /usr/share/doc/dovecot-2.2.18/wiki/SSL.DovecotConfiguration.txt /usr/share/doc/dovecot-2.2.18/wiki/SSL.SNIClientSupport.txt /usr/share/doc/dovecot-2.2.18/wiki/SSL.txt /usr/share/doc/dovecot-2.2.18/wiki/Sasl.txt /usr/share/doc/dovecot-2.2.18/wiki/SecurityTuning.txt /usr/share/doc/dovecot-2.2.18/wiki/Services.txt /usr/share/doc/dovecot-2.2.18/wiki/SharedMailboxes.ClusterSetup.txt /usr/share/doc/dovecot-2.2.18/wiki/SharedMailboxes.Permissions.txt /usr/share/doc/dovecot-2.2.18/wiki/SharedMailboxes.Public.txt /usr/share/doc/dovecot-2.2.18/wiki/SharedMailboxes.Shared.txt /usr/share/doc/dovecot-2.2.18/wiki/SharedMailboxes.Symlinks.txt /usr/share/doc/dovecot-2.2.18/wiki/SharedMailboxes.txt /usr/share/doc/dovecot-2.2.18/wiki/SocketUnavailable.txt /usr/share/doc/dovecot-2.2.18/wiki/Statistics.txt /usr/share/doc/dovecot-2.2.18/wiki/SystemUsers.txt /usr/share/doc/dovecot-2.2.18/wiki/TestInstallation.txt /usr/share/doc/dovecot-2.2.18/wiki/TestPop3Installation.txt /usr/share/doc/dovecot-2.2.18/wiki/TimeMovedBackwards.txt /usr/share/doc/dovecot-2.2.18/wiki/Timeouts.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.1.0.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.1.1.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.1.2.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.2.0.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.2.1.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.2.2.txt /usr/share/doc/dovecot-2.2.18/wiki/Upgrading.txt /usr/share/doc/dovecot-2.2.18/wiki/UserDatabase.ExtraFields.txt /usr/share/doc/dovecot-2.2.18/wiki/UserDatabase.NSS.txt /usr/share/doc/dovecot-2.2.18/wiki/UserDatabase.Prefetch.txt /usr/share/doc/dovecot-2.2.18/wiki/UserDatabase.Static.txt /usr/share/doc/dovecot-2.2.18/wiki/UserDatabase.txt /usr/share/doc/dovecot-2.2.18/wiki/UserIds.txt /usr/share/doc/dovecot-2.2.18/wiki/Variables.txt /usr/share/doc/dovecot-2.2.18/wiki/VirtualUsers.Home.txt /usr/share/doc/dovecot-2.2.18/wiki/VirtualUsers.txt /usr/share/doc/dovecot-2.2.18/wiki/WhyDoesItNotWork.txt /usr/share/doc/dovecot-2.2.18/wiki/maildrop.txt /usr/share/doc/dovecot-2.2.18/wiki/mutt.txt /usr/share/doc/dovecot-2.2.18/wiki/uw2dovecot.sh.txt /usr/share/man/man1/deliver.1.gz /usr/share/man/man1/doveadm-acl.1.gz /usr/share/man/man1/doveadm-altmove.1.gz /usr/share/man/man1/doveadm-auth.1.gz /usr/share/man/man1/doveadm-backup.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-fts.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-proxy.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-replicator.1.gz /usr/share/man/man1/doveadm-search.1.gz /usr/share/man/man1/doveadm-sieve.1.gz /usr/share/man/man1/doveadm-stop.1.gz /usr/share/man/man1/doveadm-sync.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/lib/dovecot /var/run/dovecot /var/run/dovecot/empty /var/run/dovecot/login /var/run/dovecot/token-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:400:400:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin vmail:x:10000:10000:Dovecot's vmail systemuser:/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:400:
Dienst/Deamon-Start einrichten
Um einen Dovecot, welcher als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable dovecot.service ln -s '/usr/lib/systemd/system/dovecot.service' '/etc/systemd/system/multi-user.target.wants/dovecot.service'
Eine Überprüfung, ob beim Neustart des Server der dovecot
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e dovecot.service dovecot.service enabled
bzw.
# systemctl is-enabled dovecot.service enabled
iptables Regel
Damit der Dovecot als Postfach-Server auch erreichbar ist und nicht die Weitergabe der IP-Paket vom Paketfilter iptables
blockiert wird, muss nachfolgende Regel zum iptables
-Regelwerk hinzugefügt werden.
Um die aktuellen iptables
-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Nachfolgender Befehl, fügt folgende iptables
-Regeln dem iptables
-Regelwerk nach der Position 4 hinzu, ohne das der Paketfilter angehalten werden muss:
-A INPUT -p tcp --dport 24 -j ACCEPT
-A INPUT -p tcp --dport 143 -j ACCEPT
-A INPUT -p tcp --dport 993 -j ACCEPT
-A INPUT -p tcp --dport 4190 -j ACCEPT
-A INPUT -p tcp --dport 12340 -j ACCEPT
und hier der Befehl:
# iptables -I INPUT 5 -p tcp --dport 24 -j ACCEPT # iptables -I INPUT 6 -p tcp --dport 143 -j ACCEPT # iptables -I INPUT 7 -p tcp --dport 993 -j ACCEPT # iptables -I INPUT 8 -p tcp --dport 4190 -j ACCEPT # iptables -I INPUT 9 -p tcp --dport 12340 -j ACCEPT
Ein erneute Abfrage des iptables
-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:24 state NEW 6 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143 state NEW 7 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993 state NEW 8 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4190 state NEW 9 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:12340 state NEW 10 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Die neuen Zeilen sind an Position 5 (INPUT) bis Position 9 (INPUT) zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):
... 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:24 state NEW 6 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143 state NEW 7 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993 state NEW 8 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4190 state NEW 9 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:12340 state NEW ...
Um diese iptables
-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im iptables
-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
# /usr/sbin/iptables-save > /etc/sysconfig/iptables
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 Jun 2 2014 /etc/dovecot/dovecot.conf /etc/dovecot/conf.d: total 112 -rw-r--r-- 1 root root 5296 Jun 2 2014 10-auth.conf -rw-r--r-- 1 root root 1893 Jun 2 2014 10-director.conf -rw-r--r-- 1 root root 2727 Jun 2 2014 10-logging.conf -rw-r--r-- 1 root root 15327 May 21 23:09 10-mail.conf -rw-r--r-- 1 root root 3383 Jun 2 2014 10-master.conf -rw-r--r-- 1 root root 2443 May 21 23:11 10-ssl.conf -rw-r--r-- 1 root root 1668 Jun 2 2014 15-lda.conf -rw-r--r-- 1 root root 1137 Jun 2 2014 15-mailboxes.conf -rw-r--r-- 1 root root 2425 Jun 2 2014 20-imap.conf -rw-r--r-- 1 root root 936 May 7 16:29 20-lmtp.conf -rw-r--r-- 1 root root 4007 Jun 2 2014 20-pop3.conf -rw-r--r-- 1 root root 676 Jun 2 2014 90-acl.conf -rw-r--r-- 1 root root 292 Jun 2 2014 90-plugin.conf -rw-r--r-- 1 root root 2502 Jun 2 2014 90-quota.conf -rw-r--r-- 1 root root 499 Jun 2 2014 auth-checkpassword.conf.ext -rw-r--r-- 1 root root 489 Jun 2 2014 auth-deny.conf.ext -rw-r--r-- 1 root root 343 Jun 2 2014 auth-dict.conf.ext -rw-r--r-- 1 root root 924 Jun 2 2014 auth-ldap.conf.ext -rw-r--r-- 1 root root 561 Jun 2 2014 auth-master.conf.ext -rw-r--r-- 1 root root 515 Jun 2 2014 auth-passwdfile.conf.ext -rw-r--r-- 1 root root 788 Jun 2 2014 auth-sql.conf.ext -rw-r--r-- 1 root root 611 Jun 2 2014 auth-static.conf.ext -rw-r--r-- 1 root root 2185 Jun 2 2014 auth-system.conf.ext -rw-r--r-- 1 root root 330 Jun 2 2014 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.18: /etc/dovecot/dovecot.conf # OS: Linux 3.10.0-229.7.2.el7.x86_64 x86_64 CentOS Linux release 7.1.1503 (Core) 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 (nur relevanter Ausschnitt):
... # Protocols we want to be serving. # Tachtler # default: #protocols = imap pop3 lmtp protocols = imap lmtp ...
listen
Weiterhin kann mit nachfolgender Einstellung bestimmt werden, auf welchen IP-Adressen Dovecot überhaupt zur Kommunikation mit dem Client lauschen soll.
Nachfolgend kann z.B. durch eine Änderung des Standard, hier z.B. die IP-Adressart IPv6 - nicht mehr angeboten werden, was jedoch standardmäßig der Fall ist.
Nachfolgende Änderung zeigt nur noch die Verwendung der IP-Adressen aus dem Bereich - IPv4.
Dazu ist die Konfigurationsdatei /etc/dovecot/dovecot.conf
wie folgt anzupassen (nur relevanter Ausschnitt):
... # A comma separated list of IPs or hosts where to listen in for connections. # "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces. # If you want to specify non-default ports or anything more complex, # edit conf.d/master.conf. # Tachtler # default: #listen = *, :: listen = * ...
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 (nur relevanter Ausschnitt):
... # 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 - INSTALLATION - # default: #auth_debug = no auth_debug = yes ...
auth_debug_passwords
Durch setzen des Konfigurationswertes wie nachfolgend beschrieben, werden Passwörter im Klartext und des zum Einsatz kommende Schema, zusätzlich in die Log-Datei /var/log/maillog
geschrieben (nur relevanter Ausschnitt).
... # In case of password mismatches, log the passwords and used scheme so the # problem can be debugged. Enabling this also enables auth_debug. # Tachtler - INSTALLATION - # default: #auth_debug_passwords = no auth_debug_passwords = 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 - INSTALLATION -
# default: #mail_debug = no
mail_debug = yes
...
HINWEIS - Alle mit dem Kommentar versehenen Änderungen
# Tachtler - INSTALLATION -
sollten in PRODUKTIVEN Umgebungen nicht gesetzt werden!
/etc/dovecot/conf.d/10-mail.conf
In der Konfigurationsdatei wird festgelegt, welche Art von „Ablagesystem“ Mailbox-Format verwendet werden soll und wo die e-Mail (Postfächer) im Dateisystem abgelegt werden sollen und welche plugins verwendet werden.
mail_location
Durch setzen des Konfigurationswertes wie nachfolgend beschrieben, werden zwei Parameter bestimmt.
- Welche Art von „Ablagesystem“ Mailbox-Format verwendet werden soll
- Wo die e-Mail (Postfächer) im Dateisystem abgelegt werden sollen
Welche Arten von „Ablagesystem“ Mailbox-Format es gibt, kann unter nachfolgendem internen Link nachgelesen werden:
HINWEIS - Hier soll das „Ablagesystem“ bzw. der Mailbox-Format Maildir verwendet werden!
(Nur relevanter Ausschnitt):
... # There are a few special variables you can use, eg.: # # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory # # See doc/wiki/Variables.txt for full list. Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # <doc/wiki/MailLocation.txt> # # Tachtler # default: #mail_location = mail_location = maildir:~/Maildir ...
WICHTIG - Die Definition ~/ in mail_location = maildir:~/Maildir
bedeutet nicht, das hier ein vorhandenes home
-Verzeichnis eines existierenden Benutzer verwendet werden muss!
HINWEIS - Die Angabe ~/ bedeutet vielmehr, dass hier eine Angabe erfolgt bei der unterhalb dieser Angabe dann der Ordner Maildir
angelegt wird!
HINWEIS - Das home
-Verzeichnis bei virtuellen Benutzer, welche keine Login-shell
haben, kann z.B. in einer separaten Datei passwd-file oder z.B. auch im LDAP definiert werden.
Erklärung:
mail_location = maildir:~/Maildir
Wert | Beschreibung |
---|---|
maildir: | Das verwendete Mailbox-Format ist das Maildir-Format |
~ | Dynamischer Pfad-Teil zum Dateisystem zum home -Verzeichnis |
/Maildir | Pfad-Trenner und Ordnername unter dem die Maildir-Struktur angelegt wird |
Beispiel: Hinter der Angabe ~/ könnte sich z.B. nachfolgende Definition pro Benutzer verbergen:
/srv/vmail/%Ld/%Ln
- localpart@domain =/srv/vmail/domain/localpart
/srv/vmail/%Lu
- user123 =/srv/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. Dies sollte für alle namespaces
gleich sein und nicht unterschiedlich vergeben werden. Hier soll der Schrägstrich (/) verwendet werden!
(Nur relevanter Ausschnitt):
... # Hierarchy separator to use. You should use the same separator for all # namespaces or some clients get confused. '/' is usually a good one. # The default however depends on the underlying mail storage format. # Tachtler # default: #separator = separator = / ...
prefix
Nachfolgend wird der Präfix, unter der der einzelne namespace
erreichbar ist festgelegt. Dies sollte für jeden namespace
unterschiedlich vergeben werden. Hier soll dies (INBOX/) sein!
(Nur relevanter Ausschnitt):
... # Prefix required to access this namespace. This needs to be different for # all namespaces. For example "Public/". # Tachtler # default: #prefix = prefix = INBOX/ ...
location
Die Angebe in einem namespace
überschreibt die Angabe mail_location
, welche außerhalb der jeweiligen namespace
Definition bereits „global“ gesetzt wurde. Dies sollte jedoch auf dem Standardwert = leer belassen werden.
(Nur relevanter Ausschnitt):
...
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
#location =
...
inbox
Diese Definition darf nur in einem namespace
gesetzt werden, da nur ein namespace
für die jeweilige INBOX des Benuters zeichnen kann. Das es sich hier um den namespace inbox
handelt, sollte hier der Wert gesetzt sein.
(Nur relevanter Ausschnitt):
... # There can be only one INBOX, and this setting defines which namespace # has it. inbox = yes ...
hidden
Diese Definition kann dazu verwendet werden, ganze namespaces
vor einem client
zu verstecken.
(Nur relevanter Ausschnitt):
... # If namespace is hidden, it's not advertised to clients via NAMESPACE # extension. You'll most likely also want to set list=no. This is mostly # useful when converting from another server with different namespaces which # you want to deprecate but still keep working. For example you can create # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/". #hidden = no ...
list
Diese Definition kann dazu verwendet werden, ganze namespaces
vor einem client
zu verstecken und ist ähnlich wie die Definition hidden
, für Clients, die die namespace
Erweiterung nicht interpretieren bzw. nicht verstehen.
(Nur relevanter Ausschnitt):
...
# Show the mailboxes under this namespace with LIST command. This makes the
# namespace visible for clients that don't support NAMESPACE extension.
# "children" value lists child mailboxes, but hides the namespace prefix.
#list = yes
...
subscriptions
Mit Dieser Definition wird festgelegt, das der namespace
seine eigene „Abonnementenliste“ führt.
(Nur relevanter Ausschnitt):
... # Namespace handles its own subscriptions. If set to "no", the parent # namespace handles them (empty prefix should always have this as "yes") #subscriptions = yes ...
/etc/dovecot/conf.d/10-master.conf
Damit Dovecot auch auf Anfragen von z.B. Postfix über das Protokoll lmtp
, wie hier beschrieben
erreichbar ist, sind nachfolgende Einstellungen in der Konfigurationsdatei
- /etc/dovecot/conf.d/10-master.conf
durchzuführen.
Es gibt zwei Möglichkeiten, wie Dovecot lmtp
anbieten kann,
Hier soll die ein Anbindung via TCP/IP-Verbindung erfolgen, was durch nachfolgende Einstellungen erreicht werden kann:
(Nur relevanter Ausschnitt)
... service lmtp { unix_listener lmtp { #mode = 0666 } # Create inet listener only if you can't use the above UNIX socket # Tachtler - enabled - # 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 - enabled - # default: #} } } service imap { # Most of the memory goes to mmap()ing files. You may need to increase this # limit if you have huge mailboxes. #vsz_limit = $default_vsz_limit # Max. number of IMAP processes (connections) #process_limit = 1024 } ...
In der oben gezeigten Konfiguration lauscht Dovecot auf einer
- internen IP-Adresse, welche nicht aus dem Internet erreichbar sein sollte, auf
- Port 24, welcher der Port für
lmtp
(Priv-mail: Private E-Mail-Systeme) darstellt.
Konfiguration - Authentifizierung
Die gebräuchlichen Authentifizierungsmöglichkeiten wurden bereits erwähnt und sind unter nachfolgenden internen Links nochmals aufgelistet:
Authentifizierungsabfragen
Zu einer erfolgreichen Authentifizierung gehören zwei Bestandteile, welche nachfolgend aufgeführt sind:
- passdb - Benutzername und Passwort
- userdb - UID (Benutzerkennung), GID (Gruppenkennung) und HOME-Verzeichnis, EXTRAS-Daten
des angemeldeten Benutzers
Dovecot verwendet die passdb-Abfrage (lookup) um Benutzername und Passwort zu überprüfen, was immer nur bei einer Anmeldung erforderlich ist.
Dovecot verwendet die userdb-Abfrage (lookup) um UID, GID, HOME und EXTRAS für den angemeldeten Benutzer zu bestimmen, was bei vielen Aktionen erfolgt, z.B.
- nach der erfolgreichen Anmeldung
- Einlieferung einer neuen e-Mail
- uvm.
Dabei besteht durchaus die Möglichkeit, das Dovecot die passdb-Abfrage und die userdb-Abfrage gegen verschiedene Quellen durchführt - z.B.
- passdb-Abfrage (lookup) gegen
/etc/passwd-file
z.B. (/etc/dovecot/userdb) - userdb-Abfrage (lookup) gegen LDAP
HINWEIS - Dies ist möglich, muss jedoch nicht so sein und ist auch nicht empfohlen !
Authentifizierungsquellen
Dovecot bringt in der Konfigurationsdatei
/etc/dovecot/conf.d/10-auth.conf
ganz am Ende der Konfigurationsdatei vorbereitete include
-Dateien mit, welche für die verschiedenen Authentifizierungsquellen bereits grundlegend vorkonfiguriert sind und nur um entsprechend zwingende Angaben ergänzt werden müssen. Nachfolgend eine Aufstellung:
(Nur relevanter Ausschnitt):
... !include auth-system.conf.ext #!include auth-sql.conf.ext #!include auth-ldap.conf.ext #!include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext
Hier nur die vier gebräuchlichsten in einer Übersicht:
inlcude-Datei | Authentifizierungsquelle | Beschreibung |
---|---|---|
auth-system.conf.ext | /etc/passwd & /etc/shadow | Benutzer mit shell -Zugriff |
auth-sql.conf.ext | SQL-Datenbank | Benutzerverwaltung in einer Datenbank |
auth-ldap.conf.ext | LDAP | Benutzerverwaltung in LDAP |
auth-passwdfile.conf.ext | /etc/dovecot/users | Benutzerverwaltung in einer Datei |
Authentifizierungsbenutzer
Wie bereits bei der Darstellung der Authentifizierungsabfragen, was unter nachfolgendem internen Link nachgelesen werden kann
sind einige Angaben notwendig, um den Benutzer zu authentifizieren.
Um die Verwaltung in Dovecot zu vereinfachen, soll ein Dummy-Benutzer genutzt 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
Nach der Installation von Dovecot existiert bereits eine Gruppe mit der
- GID und dem hohen Wert 10000 und dem
- Gruppennamen -
vmail
(virtual user mail),
damit sich diese von allen anderen abhebt und ggf. auch unter anderen Linux-Distributionen nicht mit anderen GID's kollidiert.
Zur Überprüfung der bereits existierenden Gruppe, kann nachfolgender Befehl verwendet werden:
# cat /etc/group | grep 10000 vmail:x:10000:
UID Benutzer-ID
Nach der Installation von Dovecot existiert bereits ebenfalls ein Benutzer mit dem
- Kommentar: Dovecot's vmail systemuser, mit der
- UID: 10000 und ebenfalls mit einem hohen Wert, dessen
- GID: 10000 ist, mit dem
- Home-Verzeichnis: /usr/libexec/dovecot und der
- Login-shell:
/sbin/nologin
und dem - Benutzernamen -
vmail
,
damit sich diese von allen anderen abhebt und ggf. auch unter anderen Linux-Distributionen nicht mit anderen UID's kollidiert.
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:Dovecot's vmail systemuser:/usr/libexec/dovecot:/sbin/nologin
HINWEIS - Für den Benutzer vmail
existiert trotzdem die Datei
/var/spool/mail/vmail
die für lokale e-Mail gedacht ist. Dies ist Standard und hat nichts mit Dovecot zu tun!
/srv/vmail
Bei Verwendung eines Dummy-Benutzers, muss ein Verzeichnis in dem die (Postfächer) und die e-Mails der einzelnen Benutzer abgelegt werden können angelegt werden, falls dies nicht bereits schon existiert. Dies kann mit nachfolgendem Befehl unter nachfolgendem Verzeichnis erstellt werden:
# mkdir /srv/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, dem Dummy-Benutzer als Eigentümer des Verzeichnisses gehören, falls dies nicht ebenfalls schon so ist, was mit nachfolgendem Befehl für das Verzeichnis
/srv/vmail
durchgeführt werden soll:
# chown -R vmail:vmail /srv/vmail
Auch die Zugriffsrechte müssen mit nachfolgendem Befehl entsprechende gesetzt werden, falls dies nicht ebenfalls schon so ist, was mit nachfolgendem Befehl durchgeführt werden kann:
# chmod -R 775 /srv/vmail
Zur Überprüfung die Rechtem des Dummy-Benutzers als Eigentümer richtig gesetzte sind, kann nachfolgender Befehl verwendet werden:
# ls -la /srv | grep vmail drwxrwx---. 2 vmail vmail 6 Jul 8 12:29 vmail
Authentifizierungsmethoden
Nachfolgende Authentifizierungsmethoden stellen die meist verwendeten Methoden dar:
PLAIN
= Passwortübermittlung im Klartext, Speicherung Verschlüsselt möglichLOGIN
= Passwortübermittlung im Klartext, Speicherung Verschlüsselt möglichCRAM
= Passwortübermittlung Verschlüsselt, Speicherung im Klartext notwendig !DIGEST
Passwortübermittlung Verschlüsselt, Speicherung im Klartext notwendig !
PLAIN/LOGIN
Die Übertragungsmethoden PLAIN/LOGIN übermitteln den Benutzernamen und das Passwort quasi im Klartext (bas64
-encoded). Ein Einsatz sollte daher nur in verschlüsselten Verbindungen SSL/TLS, oder vertrauenswürdigen Netzen, wenn überhaupt, zum Einsatz kommen.
Der Unterschied zwischen PLAIN und LOGIN ist, das
- PLAIN = RFC 4616 konform ist und
- LOGIN = Microsoft, eine nicht RFC-Konforme Implementierung
darstellt.
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 des Benutzers 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 Authentifizierung 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 einer 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
/etc/dovecot/conf.d/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@tachtler.net:{PLAIN}geheim:10000:10000::/srv/vmail/tachtler.net/klaus:: petra@tachtler.net:{PLAIN}geheim:10000:10000::/srv/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.18: /etc/dovecot/dovecot.conf # OS: Linux 3.10.0-229.7.2.el7.x86_64 x86_64 CentOS Linux release 7.1.1503 (Core) auth_debug = yes auth_debug_passwords = yes auth_mechanisms = plain digest-md5 cram-md5 login auth_verbose = yes disable_plaintext_auth = no listen = * 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:
# systemctl start dovecot
Ü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 53520 18503/dovecot tcp 0 0 192.168.0.80:24 0.0.0.0:* LISTEN 0 53503 18503/dovecot
oder auch dieser Befehl:
# ps auxwf | grep dovecot root 18513 0.0 0.0 112640 928 pts/0 S+ 11:36 0:00 \_ grep --color=auto dovecot root 18503 0.0 0.0 19960 1636 ? Ss 11:35 0:00 /usr/sbin/dovecot -F dovecot 18505 0.0 0.0 9432 1060 ? S 11:35 0:00 \_ dovecot/anvil [0 connections] root 18506 0.0 0.0 9564 1240 ? S 11:35 0:00 \_ dovecot/log root 18508 0.0 0.1 12420 2064 ? S 11:35 0:00 \_ dovecot/config
bzw. auch dieser Befehl:
# systemctl status dovecot dovecot.service - Dovecot IMAP/POP3 email server Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled) Active: active (running) since Thu 2015-07-09 11:35:18 CEST; 1min 30s ago Process: 18499 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS) Main PID: 18503 (dovecot) CGroup: /system.slice/dovecot.service ├─18503 /usr/sbin/dovecot -F ├─18505 dovecot/anvil [0 connections] ├─18506 dovecot/log └─18508 dovecot/config Jul 09 11:35:18 server80.idmz.tachtler.net systemd[1]: Starting Dovecot IMAP/... Jul 09 11:35:18 server80.idmz.tachtler.net systemd[1]: Started Dovecot IMAP/P... Jul 09 11:35:18 server80.idmz.tachtler.net dovecot[18503]: master: Dovecot v2... Hint: Some lines were ellipsized, use -l to show in full.
/var/log/maillog
In der LOG-Datei
/var/log/maillog
sollte nur nachfolgende Zeilen erscheinen, und keine Fehlermeldungen!
(Nur relevanter Ausschnitt):
... Jul 9 11:35:18 servce80 dovecot: master: Dovecot v2.2.18 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@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: master: Dovecot v2.2.18 starting up for imap, lmtp (core dumps disabled) ... dovecot: auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth ... 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 1 PLAIN service=doveadm resp=AGtsYXVzQHRhY2h0bGVyLm5ldABnZWhlaW0= (previous base64 data may contain sensitive data) ... dovecot: auth: Debug: passwd-file(klaus@tachtler.net): lookup: user=klaus@tachtler.net file=/etc/dovecot/users ... dovecot: auth: Debug: client passdb out: OK 1 user=klaus@tachtler.net
Um auch die Authentifizierungsdaten, welche in oben gezeigter Ausgabe base64
-kodiert sind, dekodieren zu können, um diese ebenfalls sichtbar verifizieren zu können, kann nachfolgender Befehl genutzt werden, welcher dann auch nachfolgende Ausgabe erzeugen sollte:
# echo `echo AGtsYXVzQHRhY2h0bGVyLm5ldABnZWhlaW0= | base64 --decode` klaus@tachtler.netgeheim
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 AUTH=DIGEST-MD5 AUTH=CRAM-MD5 AUTH=LOGIN] Dovecot ready. a1 login klaus@tachtler.net 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 BINARY MOVE SPECIAL-USE] Logged in a2 list "" "*" * LIST (\HasChildren) "/" INBOX a2 OK List completed (0.001 secs). a3 logout * BYE Logging out a3 OK Logout completed. Connection closed by foreign host
Erforderliche Benutzereingaben:
telnet 192.168.0.80 143
a1 login klaus@tachtler.net geheim
a2 list "" "*"
a3 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 /srv/vmail/* total 0 drwx------ 3 vmail vmail 18 Jul 9 13:07 . drwxrwx---. 3 vmail vmail 25 Jul 9 13:07 .. drwx------ 3 vmail vmail 20 Jul 9 13:07 klaus
Unterhalb von /srv/vmail/tachtler.net/klaus
, sollte dann das Maildir
-Verzeichnis entstanden sein, was mit nachfolgendem Befehl überprüft werden kann:
# ls -la /srv/vmail/tachtler.net/klaus total 0 drwx------ 3 vmail vmail 20 Jul 9 13:07 . drwx------ 3 vmail vmail 18 Jul 9 13:07 .. drwx------ 2 vmail vmail 6 Jul 9 13:07 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@tachtler.net field value uid 10000 gid 10000 home /srv/vmail/tachtler.net/klaus mail maildir:~/Maildir
Weitereführende Konfigurationen
Unter nachfolgenden internen Links, werden weiterführende Konfiguration durchgeführt
Dovecot Master-User
- Interner Link zu: Dovecot Master-User
Dovecot SSL/TLS
- Interner Link zu: Dovecot SSL/TLS
Dovecot Quotas
- Interner Link zu: Dovecot Quotas
- Interner Link zu: Dovecot Quotas - SQL-Backend
Dovecot Shares
- Interner Link zu: Dovecot Shares
Dovecot Pigeonhole (Sieve)
- Interner Link zu: Dovecot Pigeonhole (Sieve)
- Interner Link zu: Dovecot Pigeonhole (Sieve) - Horde.org - ingo
Dovecot zlib-Komprimierung
- Interner Link zu: Dovecot zlib-Komprimierung
Dovecot Tuning
- Interner Link zu: Dovecot Tuning
Dovecot Sicherheit
- Interner Link zu: Dovecot Sicherheit
Dovecot Plugins
- Interner Link zu: Dovecot Plugins
Dovecot Authentifizierung - passwd-file
- Interner Link zu: Dovecot Authentifizierung - passwd-file
Dovecot Authentifizierung - SQL
- Interner Link zu: Dovecot Authentifizierung - SQL
- Interner Link zu: Dovecot Authentifizierung - SQL - Horde.org - Horde
Dovecot Migration - cyrus2dovecot
- Interner Link zu: Dovecot Migration - cyrus2dovecot
Dovecot Backup - Skript
- Interner Link zu: Dovecot Backup - Skript