Postfix unterstützt derzeit nur zwei SASL-Authentifizierungsmethoden. Eines davon ist Dovecot, das Sie nicht wollen. Der andere ist Cyrus, der ungefähr so nah an dem ist, was Sie wollen, ohne Postfix neu zu schreiben. Es wird zwar ein separater Authentifizierungsdämon ( saslauthd
) ausgeführt, die Authentifizierungsdatei kann jedoch leicht bearbeitet und aktualisiert werden.
Die Grundlagen zur Verwendung von Cyrus SASL finden Sie auf der Postfix-Dokumentationsseite. Hier finden Sie eine kurze Beschreibung. Bitte schauen Sie auf den Link, wenn etwas in irgendeiner Weise verwirrend ist!
Beginnen Sie mit der Installation von Cyrus SASL mit dem Plugin sasldb
. (Die Vorgehensweise bleibt dem Leser als Übung überlassen. Vermutlich befindet sich in dem von Ihrer Unix-Marke verwendeten Paketsystem ein Paket.) Da die Kommunikation zwischen Postfix und SASL über einen Unix-Domain-Socket erfolgt, möchten Sie dies möglicherweise Fügen Sie der SASL-Gruppe Postfix hinzu, und stellen Sie sicher, dass diese Gruppe über Lese- und Ausführungsberechtigungen für das Verzeichnis verfügt /var/run/saslauthd
.
Konfigurieren Sie SASL
Konfigurieren Sie SASL für die Verwendung von sasldb, indem Sie /etc/sasl2/smtpd.conf bearbeiten:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
Das sasldb-Plugin bedeutet, dass sasl eine Berkeley DB-Datei für Benutzernamen und Passwörter verwendet. Sie fügen Benutzer mit dem Befehl hinzu saslpasswd2
:
$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):
Beachten Sie, dass Sie eine Domain zusammen mit dem Benutzernamen angeben und der Benutzer bei der Authentifizierung "username@example.com" und nicht nur "username" verwenden muss.
Sie können überprüfen, welche Benutzer eingegeben wurden, indem Sie ausführen sasldblistusers2
.
Starten Sie saslauthd und überprüfen Sie, ob die Authentifizierung funktioniert
testsaslauthd -u username@example.com -p password
Konfigurieren Sie Postfix
Sobald dies erledigt ist, weisen Sie Postfix an, SASL zu verwenden, und Cyrus mitzuteilen, dass es sich um SMTP handelt, das authentifiziert wird, indem Sie /etc/postfix/main.cf bearbeiten, um es zu enthalten
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
Laden Sie dann Postfix neu, und Sie sollten eingestellt sein.