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!