
Estou usando o Roundcube v1.6.0, e estou tentando obter oPlug-in de senhapara funcionar corretamente.
No entanto, estou recebendo a seguinte mensagem de erro (no navegador):
Could not save new password.
Encryption function missing.
Por que o Roundcube deseja acessar minha chave privada?
Estou usando Postfix/Dovecot configurado para usuários virtuais com Postfixadmin.
Configuração
/srv/live/php/roundcubemail-1.6.0/logs/errors.log
[13-Dec-2022 11:16:31 -0500]: PHP Error: Password plugin: Failed to execute command: /usr/bin/doveadm pw -s 'CRAM-MD5'.
Error: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 12: ssl_cert: Can't open file /etc/ssl/private/fullchain.pem: Permission denied in /srv/live/php/roundcubemail-1.6.0/plugins/password/password.php on line 747 (POST /?_task=settings&_action=plugin.password-save)
editar:Listei erroneamente o abaixo como o arquivo de configuração principal do Roundcube; esta é a configuração do plugin de senha
/srv/live/php/roundcubemail-1.6.0/plugins/password
$config['password_driver'] = 'sql';
$config['password_strength_driver'] = 'zxcvbn';
$config['password_zxcvbn_min_score'] = 5;
$config['password_confirm_current'] = true;
$config['password_minimum_length'] = 8;
$config['password_minimum_score'] = 0;
$config['password_algorithm'] = 'dovecot';
$config['password_algorithm_options'] = [];
$config['password_algorithm_prefix'] = '';
$config['password_dovecotpw'] = '/usr/bin/doveadm pw';
$config['password_dovecotpw_method'] = 'CRAM-MD5';
$config['password_dovecotpw_with_method'] = true;
/etc/dovecot/dovecot-sql.conf
driver = mysql
connect = host=localhost dbname=postfix_db user=postfix password=<redacted>
default_pass_scheme = MD5-CRYPT
user_query = SELECT '/var/www/mail/vmail/%d/%n' as home, 'maildir:/var/www/mail/vmail/%d/%n' as mail, 2000 AS uid, 2000 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Get the password
password_query = SELECT username as user, password, '/var/www/mail/vmail/%d/%n' as userdb_home, 'maildir:/var/www/mail/vmail/%d/%n' as userdb_mail, 2000 as userdb_uid, 2000 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
# If using client certificates for authentication, comment the above and uncomment the following
#password_query = SELECT null AS password, ‘%u’ AS user
Muito obrigado antecipadamente pela sua ajuda!
nota lateral: não consegui encontrar nenhuma postagem detalhando meu problema exato.
Encontrei dois postadores com configurações/erros bastante semelhantes que foram resolvidos alterando o esquema de senha do Dovecot deMD5parabcrypt. Não sei por que isso pode ajudar; mas como eu estava planejando fazer isso de qualquer maneira, deixe-me saber se essa é de alguma forma a solução.
Responder1
Foi uma longa jornada, mas consegui consertar. Acabei indo para oPostfixadmin gite encontraresse assuntocomesta postagem. O erro subsequente Error: net_connect_unix(/run/dovecot/stats-writer) failed: Permission denied
foi resolvido graças aesta postagem
Para resumir:
1. Crie um novo arquivo de configuração dovecot
Você primeiro criará um novo arquivo /etc/dovecot/
(ou onde quer que estejam os arquivos de configuração do dovecot).
Eu chamo o meu ssl-keys.conf
. As permissões para este arquivo são 0600
(proprietário é root:root
)
Isso conterá apenas duas (2) linhas que são movidas de seu arquivo de configuração principal dovecot (presumivelmente dovecot.conf
):
ssl-keys.conf
ssl_cert = </etc/ssl/private/fullchain.pem
ssl_key = </etc/ssl/private/privkey.pem
2. Modifique o arquivo de configuração principal do dovecot
Em dovecot.conf
, adicione as seguintes linhas
!include_try ssl-keys.conf
service stats {
unix_listener stats-reader {
group = vmail
mode = 0666
}
unix_listener stats-writer {
group = vmail
mode = 0666
}
}
Certifique-se de que postfixadmin faça parte do grupo dovecot/vmail (onde vmail é seu email ou grupo de usuários virtuais).
Se ainda não tiver feito isso, remova as linhas dovecot.conf
que você adicionou ao novo arquivo ssl-keys.conf
. Deixe todo o resto como está.
3. Modifique o arquivo de configuração do banco de dados dovecot
No arquivo de configuração do banco de dados Dovecot ( dovecot-sql.conf
para mim), modifique o seguinte:
default_pass_scheme = BLF-CRYPT
No arquivo de configuração do plugin de senha Roundcube, modifique o seguinte (o resto é igual ao meu OP):
$config['password_dovecotpw_method'] = 'BLF-CRYPT';
$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 12';