Você pode tentar adicionar
auth_debug = yes
auth_debug_passwords = yes
auth_verbose_passwords = yes
à sua configuração do Dovecot. Assim, você verá quais senhas o dovecot realmente recebe dos clientes e compara do passdb.
Eu tenho um servidor dovecot rodando em um servidor Ubuntu 14.04, que lê os dados de login (usuário / domínio / senha) de um banco de dados mysql.
As senhas são salvas como hashes SHA256 salgados. Para gerar estes, eu uso o comando doveadm pw -s SHA512-CRYPT
. De acordo com a página Authentication PasswordSchemes da wiki Dovecot, o comando usa a função glibcs crypt()
.
Agora, quando eu uso uma senha sem caracteres especiais (letras maiúsculas / minúsculas e números) como "t3st", posso fazer login com sucesso na conta de email correspondente. Mas assim que a senha contiver outros caracteres (por exemplo, t3$t
), não consigo mais fazer login. O doveadm retornará em ambos os casos hashes aparentemente válidos (por exemplo, $6$iADbo7odiTlVjYgl$fi0X/kIHSUmAHAAiHIsXU6ow3j9dshL9mX.VTCDFOBMt.aV/.ZWpadLk3AFPD30EZ7SiyaqAR66YlTPoeQrcH/
).
Eu tentei fazer o login no servidor via Thunderbird e uma interface de email baseada na web, com ambos dando a mesma mensagem de erro nos arquivos de log:
dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs) ...
Eu também tentei usar a "criptografia" do MD5-CRYPT, com os mesmos resultados.
Você pode tentar adicionar
auth_debug = yes
auth_debug_passwords = yes
auth_verbose_passwords = yes
à sua configuração do Dovecot. Assim, você verá quais senhas o dovecot realmente recebe dos clientes e compara do passdb.
A documentação doveadm pw contém as seguintes informações:
"Você deve colocar o hash da senha entre aspas simples, se ele contiver um ou mais sinais de dólar ($)."
Tags password dovecot ubuntu-14.04