Eu configurei o Postfix para trabalhar com o SASL usando texto simples, onde o primeiro envia automaticamente um domínio padrão para o segundo ao solicitar autenticação.
Assumindo que o nome do domínio é example.com e o usuário é foo, aqui está como eu o configurei no meu sistema Debian até agora.
No arquivo de configuração do postfix /etc/main.cf :
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
O arquivo de configuração SMTP /etc/postfix/smtpd.conf contém:
pwcheck_method: saslauthd
mech_list: PLAIN
O daemon SASL é configurado com o mecanismo sasldb em /etc/default/saslauthd :
MECHANIMS="sasldb"
O arquivo de banco de dados SASL contém um único usuário, mostrado por sasldblistusers2 :
[email protected]: userPassword
A autenticação funciona bem sem ter que fornecer um domínio, como o postifx faz isso para mim. No entanto, não consigo descobrir como dizer ao daemon Cyrus IMAP para fazer o mesmo.
Eu criei um usuário cyrus em meu banco de dados SASL, que usa o domínio do nome de domínio do host, não example.com , para fins administrativos. Usei essa conta para criar uma caixa de correio por meio de cyradm para o usuário foo :
cm user.foo
O IMAP está configurado em /etc/imapd.conf desta forma:
allowplaintext: yes
sasl_minimum_layer: 0
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
servername: mail.example.com
Se eu habilitar a autenticação entre territórios ( loginrealms: example.com ), tentar autenticar usando imtest funciona com essas opções:
imtest -m login -a [email protected] localhost
No entanto, gostaria de poder autenticar sem ter que especificar o reino, como este:
imtest -m login -a foo localhost
Eu pensei que usar virtdomains (definindo-o como userid ou on ) e defaultdomain: example.com faria exatamente isso, mas não consigo fazê-lo funcionar.
Eu sempre acabo com esse erro:
cyrus/imap[11012]: badlogin: localhost [127.0.0.1] plaintext foo SASL(-13): authentication failure: checkpass failed
O que eu entendo é que cyrus-imapd nunca tenta enviar o reino ao tentar autenticar o usuário foo .
Minha pergunta: como eu posso dizer a cyrus-imapd para enviar o nome do domínio como o reino automaticamente?
Obrigado pelas suas ideias!