Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
centos:mail_c7:dovecot_6 [30.07.2014 21:04. ] – [mySQL Datenbankuser anlegen] django | centos:mail_c7:dovecot_6 [18.11.2024 07:08. ] (aktuell) – Externe Bearbeitung 127.0.0.1 |
---|
- **GID** : Gruppen-ID, die beim Anlegen des Benutzerkontos, der Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten und der eMails verwendet wird. | - **GID** : Gruppen-ID, die beim Anlegen des Benutzerkontos, der Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten und der eMails verwendet wird. |
- **Home-Verzeichnis**: Benutzerverzeichnis, in dem das Benutzerkonto, die Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten sowie der eMails verwendet wird. | - **Home-Verzeichnis**: Benutzerverzeichnis, in dem das Benutzerkonto, die Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten sowie der eMails verwendet wird. |
| |
| |
===== Authentifizierungsquellen ===== | ===== Authentifizierungsquellen ===== |
Authentifizierungs-Anfragen, oder Neudeutsch **//lookups//**, werden von unserem Dovecot-Mailserver an verschiedenen Stellen in abwechselnden Formen benötigt. | Authentifizierungs-Anfragen, oder Neudeutsch **//lookups//**, werden von unserem Dovecot-Mailserver an verschiedenen Stellen in abwechselnden Formen benötigt. |
* **passdb-lookup** : Der passdb-lookup wird von Dovecot immer dann ausgeführt, wenn die [[http://de.wikipedia.org/wiki/Autorisierung|Autorisierung]] des Benutzers gefordert wird. Im Genauen wird hierbei geprüft, ob das genannte Passwort dem Anmeldenamen/Benutzerkonto zugeordnet werden kann. Diese Autorisierungsüberprüfung ist immer dann notwendig, wenn sich ein Kunde am IMAP/POP3-Server bzw. am Managed-SIEVE-Server anmeldet. Passt Passwort und Anmeldenamen zusammen, wird dem Benutzer der Zugriff gestattet, passt das Passwort nicht, wird der Anmeldevorgang mit einer Fehlermeldung abgebrochen. | * **passdb-lookup** : Der passdb-lookup wird von Dovecot immer dann ausgeführt, wenn die [[http://de.wikipedia.org/wiki/Autorisierung|Autorisierung]] des Benutzers gefordert wird. Im Genauen wird hierbei geprüft, ob das genannte Passwort dem Anmeldenamen/Benutzerkonto zugeordnet werden kann. Diese Autorisierungsüberprüfung ist immer dann notwendig, wenn sich ein Kunde am IMAP/POP3-Server bzw. am Managed-SIEVE-Server anmeldet. Passt Passwort und Anmeldenamen zusammen, wird dem Benutzer der Zugriff gestattet, passt das Passwort nicht, wird der Anmeldevorgang mit einer Fehlermeldung abgebrochen. |
* **userdb-lookup** : Bei einem userdb-lookup ermittelt unser Dovecot-Server die Umgebungsvariablen des genannten/benötigten Benutzerkontos. Im einfachsten Fall muss natürlich ein userdb-lookup nach einem erfolgreichen passdb-lookup erfolgen, da der Dovecotserver wissen muss, wo die Inhalte zu dem Benutzerkonto zu finden sind. \\ Ein userdb-lookup muss aber auch ausgeführt werden, wenn unser Dovecot-Server eine Nachricht, die er via **LMTP** empfängt, in das richtige Benutzerkonto mit der zugehörigen GID und UID abspeichern will. Ein weiterer Anwendungsfall ist das Thema //Shared Folders// /* link zum Kapitel shardfolders einfügen! */ FIXME. Hier muss der Dovecot-Server z.B. wo er die geteilten Mailkonto(teile) finden kann. | * **userdb-lookup** : Bei einem userdb-lookup ermittelt unser Dovecot-Server die Umgebungsvariablen des genannten/benötigten Benutzerkontos. Im einfachsten Fall muss natürlich ein userdb-lookup nach einem erfolgreichen passdb-lookup erfolgen, da der Dovecotserver wissen muss, wo die Inhalte zu dem Benutzerkonto zu finden sind. \\ Ein userdb-lookup muss aber auch ausgeführt werden, wenn unser Dovecot-Server eine Nachricht, die er via **LMTP** empfängt, in das richtige Benutzerkonto mit der zugehörigen GID und UID abspeichern will. Ein weiterer Anwendungsfall ist das Thema [[centos:mail_c7:dovecot_7|Shared Folders und Shared Namespace]]. Hier muss der Dovecot-Server z.B. wo er die geteilten Mailkonto(teile) finden kann. |
| |
| |
django:x:1000:1000:django:/home/django:/bin/bash | django:x:1000:1000:django:/home/django:/bin/bash |
| |
Der Username **django** kann zwar benutzt werden, nicht aber django@nausch.org bzw. django@mailserver.guru. | Der Username **django** kann zwar benutzt werden, nicht aber django@nausch.org. |
| |
Über die Konfigurationsdatei //**/etc/dovecot/conf.d/auth-system.conf.ext**// können bei Bedarf Einstellungen vorgenommen werden. | Über die Konfigurationsdatei //**/etc/dovecot/conf.d/auth-system.conf.ext**// können bei Bedarf Einstellungen vorgenommen werden. |
Build Host : vml000200.dmz.nausch.org | Build Host : vml000200.dmz.nausch.org |
Relocations : (not relocatable) | Relocations : (not relocatable) |
Packager : Django <django@mailserver.guru> | Packager : Django <django@nausch.org> |
Vendor : django | Vendor : django |
URL : http://www.dovecot.org/ | URL : http://www.dovecot.org/ |
=== dovecot-sql.conf.ext === | === dovecot-sql.conf.ext === |
Bei der RPM-Installation unseres Dovecot-Servers, wurde im Verzeichnis //**/usr/share/doc/dovecot-2.2.13/example-config**// bereits eine Vorlagedatei für die nun folgende Konfiguration des SQL-Auth-Mechanismus angelegt. Diese Datei kopieren wir nun in das Dovecot-Konfigurationsverzeichnis //**/etc/dovecot**//. | Bei der RPM-Installation unseres Dovecot-Servers, wurde im Verzeichnis //**/usr/share/doc/dovecot-2.2.13/example-config**// bereits eine Vorlagedatei für die nun folgende Konfiguration des SQL-Auth-Mechanismus angelegt. Diese Datei kopieren wir nun in das Dovecot-Konfigurationsverzeichnis //**/etc/dovecot**//. |
# cp /usr/share/doc/dovecot-2.2.13/example-config/dovecot-sql.conf.ext /etc/dovecot/ | # cp /usr/share/doc/dovecot-2.2.*/example-config/dovecot-sql.conf.ext /etc/dovecot/ |
| |
Die wichtigsten Konfigurationsparameter in dieser Datei, die wir unseren Bedürfnissen nach anpassen müssen sind: | Die wichtigsten Konfigurationsparameter in dieser Datei, die wir unseren Bedürfnissen nach anpassen müssen sind: |
# Django : 2013-02-06 | # Django : 2013-02-06 |
# default: #default_pass_scheme = MD5 | # default: #default_pass_scheme = MD5 |
default_pass_scheme = MD5-CRYPT | default_pass_scheme = PLAIN |
| |
# passdb query to retrieve the password. It can return fields: | # passdb query to retrieve the password. It can return fields: |
# Django : 2013-02-06 | # Django : 2013-02-06 |
# default: unset | # default: unset |
password_query = SELECT username AS user, password FROM mailbox WHERE username = '%u' AND active = '1' | password_query = SELECT username AS user, password, 10000 AS userdb_uid, 10000 AS userdb_gid, \ |
| CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1' |
| |
# userdb query to retrieve the user information. It can return fields: | # userdb query to retrieve the user information. It can return fields: |
#} | #} |
</file> | </file> |
| |
| |
| |
===== Testen der Authentifizierung ===== | |
Mit Hilfe des Befehls **doveadm** können wir sowohl den **//passdb-lookup//** wie auch den **//userdb-lookup//** testen. | |
| |
Die Benutzereingaben sind in der Farbe <html><font style="color: rgb(0, 0, 255)">blau</font></html> und die Rückmeldungen in der Farbe <html><font style="color: rgb(0, 255, 0)">grün</font></html> gekennzeichnet. | |
| |
Mit **//passdb-lookup//** können wir testen, ob unser Dovecot-Server das eingegebene Passwort beim genannten User erfolgreich überprüfen kann. | |
<html><pre class="code"> | |
<font style="color: rgb(0, 0, 0)"># </font><font style="color: rgb(0, 0, 255)">doveadm auth test django@nausch.org</font> | |
</pre></html> | |
<html><pre class="code"> | |
<font style="color: rgb(0, 255, 0)">Password:</font><font style="color: rgb(0, 0, 255)">Dj4n90_d3r_G33k!</font> | |
<font style="color: rgb(0, 255, 0)">passdb: django@nausch.org auth succeeded | |
extra fields: | |
user=django@nausch.org</font></font> | |
</pre></html> | |
| |
Beim **//userdb-lookup//** ermittelt der Dovecot-Server die Umgebungsvariablen des genannten Benutzerkontos, also die die User-ID **$UID**, die Gruppen-ID **$GID** und **$HOME** als den Verzeichnispfad, an dem das Userkonto des Benutzers im Filespace unseres Servers zu finden ist. | |
<html><pre class="code"> | |
<font style="color: rgb(0, 0, 0)"># </font><font style="color: rgb(0, 0, 255)">doveadm user django@nausch.org</font> | |
</pre></html> | |
<html><pre class="code"> | |
<font style="color: rgb(0, 255, 0)">field value | |
uid 10000 | |
gid 10000 | |
home /srv/vmail/nausch.org/django | |
mail</font></pre></html> | |
| |
=== Speicherung von Passwörtern === | === Speicherung von Passwörtern === |
| |
Nur so ist sichergestellt, dass die Passworte nie über das Internet übertragen werden müssen. Denn dort liegt das größte Bedrohungspotential. Unser Postmaster und Netzwerkadministrator hat auch ohne Passwort jederzeit die Möglichkeit auf Daten der Nutzer zuzugreifen!</WRAP> | Nur so ist sichergestellt, dass die Passworte nie über das Internet übertragen werden müssen. Denn dort liegt das größte Bedrohungspotential. Unser Postmaster und Netzwerkadministrator hat auch ohne Passwort jederzeit die Möglichkeit auf Daten der Nutzer zuzugreifen!</WRAP> |
| |
| |
=== 10-auth.conf == | === 10-auth.conf == |
| |
Zur Aktivierung des Authentifizierungs-Mechanismus **SQL** müssen wir nun nur noch den richtigen **!include** in der Konfigurationsdatei //**/etc/dovecot/conf.d/10-auth.conf**// setzen. | Zur Aktivierung des Authentifizierungs-Mechanismus **SQL** müssen wir nun nur noch den richtigen **!include** in der Konfigurationsdatei //**/etc/dovecot/conf.d/10-auth.conf**// setzen. |
# vim /etc/dovecot/conf.d/10-auth.conf | # vim /etc/dovecot/conf.d/10-auth.conf |
<file bash /etc/dovecot/conf.d/10-auth.conf>... | <code bash>... |
| |
#!include auth-deny.conf.ext | #!include auth-deny.conf.ext |
#!include auth-master.conf.ext | #!include auth-master.conf.ext |
| |
# Django : 2014-07-28 | # Django : 2014-07-30 |
# default: !include auth-system.conf.ext | # default: !include auth-system.conf.ext |
# Umstellung auf den Authentifizierungs-Mechanismus SQL | # Umstellung auf den Authentifizierungs-Mechanismus SQL |
#!include auth-vpopmail.conf.ext | #!include auth-vpopmail.conf.ext |
#!include auth-static.conf.ext | #!include auth-static.conf.ext |
</file> | </code> |
| |
Ferner definieren wir in der //**/etc/dovecot/conf.d/10-auth.conf**// noch welche Authentifizierungs-Mechanismen über die Option **auth_mechanisms** erlaubt sein sollen. Im Falle von **plain** **login** **digest-md5** **cram-md5** wäre das dann nachfolgender Code-Schnippsel | Ferner definieren wir in der //**/etc/dovecot/conf.d/10-auth.conf**// noch welche Authentifizierungs-Mechanismen über die Option **auth_mechanisms** erlaubt sein sollen. Im Falle von **plain** **login** **digest-md5** **cram-md5** wäre das dann nachfolgender Code-Schnippsel |
# vim /etc/dovecot/conf.d/10-auth.conf | # vim /etc/dovecot/conf.d/10-auth.conf |
<file bash /etc/dovecot/conf.d/10-auth.conf>... | <code bash>... |
| |
# Space separated list of wanted authentication mechanisms: | # Space separated list of wanted authentication mechanisms: |
| |
... | ... |
</file> | </code> |
| |
Somit ergibt sich folgende komplette Konfigurationsdatei //**/etc/dovecot/conf.d/10-auth.conf**//. | Somit ergibt sich folgende komplette Konfigurationsdatei //**/etc/dovecot/conf.d/10-auth.conf**//. |
#!include auth-master.conf.ext | #!include auth-master.conf.ext |
| |
# Django : 2014-07-28 | # Django : 2014-07-30 |
# default: !include auth-system.conf.ext | # default: !include auth-system.conf.ext |
# Umstellung auf den Authentifizierungs-Mechanismus passwd-file | # Umstellung auf den Authentifizierungs-Mechanismus passwd-file |
#!include auth-system.conf.ext | #!include auth-system.conf.ext |
#!include auth-sql.conf.ext | !include auth-sql.conf.ext |
#!include auth-ldap.conf.ext | #!include auth-ldap.conf.ext |
!include auth-passwdfile.conf.ext | #!include auth-passwdfile.conf.ext |
#!include auth-checkpassword.conf.ext | #!include auth-checkpassword.conf.ext |
#!include auth-vpopmail.conf.ext | #!include auth-vpopmail.conf.ext |
</file> | </file> |
| |
FIXME | |
| ===== Testen der Authentifizierung ===== |
| Mit Hilfe des Befehls **doveadm** können wir sowohl den **//passdb-lookup//** wie auch den **//userdb-lookup//** testen. |
| |
| Die Benutzereingaben sind in der Farbe <html><font style="color: rgb(0, 0, 255)">blau</font></html> und die Rückmeldungen in der Farbe <html><font style="color: rgb(0, 255, 0)">grün</font></html> gekennzeichnet. |
| |
| Mit **//passdb-lookup//** können wir testen, ob unser Dovecot-Server das eingegebene Passwort beim genannten User erfolgreich überprüfen kann. |
| <html><pre class="code"> |
| <font style="color: rgb(0, 0, 0)"># </font><font style="color: rgb(0, 0, 255)">doveadm auth test django@nausch.org</font> |
| </pre></html> |
| <html><pre class="code"> |
| <font style="color: rgb(0, 255, 0)">Password:</font><font style="color: rgb(0, 0, 255)">Dj4n90_d3r_G33k!</font> |
| <font style="color: rgb(0, 255, 0)">passdb: django@nausch.org auth succeeded |
| extra fields: |
| user=django@nausch.org</font></font> |
| </pre></html> |
| |
| Beim **//userdb-lookup//** ermittelt der Dovecot-Server die Umgebungsvariablen des genannten Benutzerkontos, also die die User-ID **$UID**, die Gruppen-ID **$GID** und **$HOME** als den Verzeichnispfad, an dem das Userkonto des Benutzers im Filespace unseres Servers zu finden ist. |
| <html><pre class="code"> |
| <font style="color: rgb(0, 0, 0)"># </font><font style="color: rgb(0, 0, 255)">doveadm user django@nausch.org</font> |
| </pre></html> |
| <html><pre class="code"> |
| <font style="color: rgb(0, 255, 0)">field value |
| uid 10000 |
| gid 10000 |
| home /srv/vmail/nausch.org/django |
| mail</font></pre></html> |
| |
| |
| |
| Haben wir die Benutzerauthentifizierung erfolgreich abgeschlossen, vervollständigen wir die Grundkonfiguration unseres Dovecot-Servers mit der Definition von **[[centos:mail_c7:dovecot_1?&#mailbox_location_vmail-directory|Mailbox Location und vmail-Directory]]**. |
| |
====== Links ====== | ====== Links ====== |
* **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** | * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** |
* **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** | * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** |
| |
~~DISCUSSION~~ | |
| |
| |