O Postfix atualmente suporta apenas dois métodos de autenticação SASL. Uma delas é Dovecot, que você não quer. O outro é o Cyrus, que é o mais próximo possível do que você deseja obter sem reescrever o Postfix. Isso envolve a execução de um daemon de autenticação separado ( saslauthd
), mas o arquivo de autenticação é fácil de editar e atualizar.
O básico para usar o Cyrus SASL pode ser encontrado no site de documentação do postfix , mas aqui está uma breve descrição. Por favor, olhe o link se algo estiver confuso de alguma forma!
Comece instalando o Cyrus SASL com o plug-in sasldb
. (Como fazer isso é deixado como um exercício para o leitor; presumivelmente há um pacote em qualquer sistema de pacotes que sua marca de unix esteja usando.) Como a comunicação entre o Postfix e o SASL ocorrerá por meio de um soquete de domínio unix, convém adicione postfix ao grupo SASL e verifique se esse grupo possui permissões de leitura e execução no diretório /var/run/saslauthd
.
Configurar SASL
Configure o SASL para usar o sasldb editando /etc/sasl2/smtpd.conf:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
O plug-in sasldb significa que o sasl usará um arquivo Berkeley DB para nomes de usuário e senhas. Você adiciona usuários com o comando saslpasswd2
:
$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):
Observe que você especifica um domínio junto com o nome de usuário e o usuário precisará usar "nomedeusuário@exemplo.com" em vez de apenas "nomedeusuário" ao se autenticar.
Você pode verificar quais usuários foram inseridos executando sasldblistusers2
.
Inicie o saslauthd e verifique se a autenticação funciona executando
testsaslauthd -u username@example.com -p password
Configurar o Postfix
Feito isso, diga ao Postfix para usar o SASL e ao Cyrus que é SMTP que está autenticando, editando /etc/postfix/main.cf para conter
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
Em seguida, recarregue o postfix e você deverá estar definido.