Postfix attualmente supporta solo due metodi di autenticazione SASL. Uno dei è Dovecot, che non vuoi. L'altro è Cyrus, che è il più vicino possibile a ciò che si desidera e che è possibile ottenere senza riscrivere Postfix. Implica l'esecuzione di un demone di autenticazione separato ( saslauthd
), ma il file di autenticazione è facile da modificare e aggiornare.
Le basi per l'utilizzo di Cyrus SASL sono disponibili nel sito di documentazione postfix , ma ecco una breve descrizione. Si prega di guardare il link se qualcosa è confuso in alcun modo!
Inizia installando Cyrus SASL con il plugin sasldb
. (Come fare ciò è lasciato come un esercizio per il lettore; presumibilmente c'è un pacchetto in qualunque sistema di pacchetti sta usando la tua marca di unix.) Dato che la comunicazione tra Postfix e SASL avverrà tramite un socket di dominio unix, potresti voler aggiungi postfix al gruppo SASL e assicurati che quel gruppo abbia letto ed esegua le autorizzazioni per la directory /var/run/saslauthd
.
Configura SASL
Configura SASL per usare sasldb modificando /etc/sasl2/smtpd.conf:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
Il plugin sasldb significa che sasl utilizzerà un file Berkeley DB per nomi utente e password. Aggiungi utenti con il comando saslpasswd2
:
$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):
Si noti che si specifica un dominio insieme al nome utente e l'utente dovrà utilizzare "nomeutente@esempio.com" anziché solo "nome utente" durante l'autenticazione.
Puoi verificare quali utenti sono stati inseriti eseguendo sasldblistusers2
.
Avviare saslauthd e verificare che l'autenticazione funzioni eseguendo
testsaslauthd -u username@example.com -p password
Configura Postfix
Una volta fatto, dì a Postfix di usare SASL e di dire a Cyrus che è SMTP che sta eseguendo l'autenticazione, modificando /etc/postfix/main.cf per contenere
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
Quindi, ricarica postfix e dovresti essere impostato.