Ich verwende Roundcube v1.6.0und ich versuche, diePasswort-Pluginum richtig zu funktionieren.
Ich erhalte jedoch die folgende Fehlermeldung (im Browser):
Could not save new password.
Encryption function missing.
Warum möchte Roundcube auf meinen privaten Schlüssel zugreifen?
Ich verwende Postfix/Dovecot, konfiguriert für virtuelle Benutzer mit Postfixadmin.
Aufbau
/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)
bearbeiten:Ich habe fälschlicherweise das Folgende als die Hauptkonfigurationsdatei von Roundcube aufgeführt. Dies ist die Konfiguration des Passwort-Plugins
/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
Vielen Dank im Voraus für Ihre Hilfe!
Randbemerkung: Ich konnte keine Beiträge finden, in denen mein genaues Problem beschrieben wird.
Ich habe zwei Poster mit ziemlich ähnlichen Setups/Fehlern gefunden, die durch die Änderung des Passwortschemas von Dovecot vonMD5Zubcrypt. Ich bin nicht sicher, warum das helfen könnte, aber da ich das sowieso vorhatte, lassen Sie mich bitte wissen, ob das irgendwie die Lösung ist.
Antwort1
Es war eine lange Reise, aber ich habe es repariert. Schließlich ging ich zumPostfixadmin-Gitund findendieses Problemmitdieser Beitrag. Der nachfolgende Fehler Error: net_connect_unix(/run/dovecot/stats-writer) failed: Permission denied
wurde behoben dankdieser Beitrag
Zusammenfassen:
1. Neue Dovecot-Konfigurationsdatei erstellen
Sie erstellen zunächst eine neue Datei in /etc/dovecot/
(oder wo auch immer Ihre Dovecot-Konfigurationsdateien liegen).
Ich nenne meine ssl-keys.conf
. Die Berechtigungen für diese Datei sind 0600
(Eigentümer ist root:root
)
Dies enthält nur zwei (2) Zeilen, die aus Ihrer primären Dovecot-Konfigurationsdatei verschoben werden (vermutlich dovecot.conf
):
ssl-keys.conf
ssl_cert = </etc/ssl/private/fullchain.pem
ssl_key = </etc/ssl/private/privkey.pem
2. Ändern Sie die Hauptkonfigurationsdatei von Dovecot
Fügen Sie in dovecot.conf
die folgenden Zeilen hinzu
!include_try ssl-keys.conf
service stats {
unix_listener stats-reader {
group = vmail
mode = 0666
}
unix_listener stats-writer {
group = vmail
mode = 0666
}
}
Stellen Sie sicher, dass postfixadmin Teil der Gruppe dovecot/vmail ist (wobei vmail Ihre E-Mail- oder virtuelle Benutzergruppe ist).
Falls Sie dies noch nicht getan haben, entfernen Sie die Zeilen, dovecot.conf
die Sie zur neuen Datei hinzugefügt haben ssl-keys.conf
. Lassen Sie alles andere so, wie es ist.
3. Ändern Sie die Konfigurationsdatei der Dovecot-Datenbank
Ändern Sie in Ihrer Dovecot-Datenbankkonfigurationsdatei ( dovecot-sql.conf
für mich) Folgendes:
default_pass_scheme = BLF-CRYPT
Ändern Sie in der Konfigurationsdatei Ihres Roundcube-Passwort-Plugins Folgendes (der Rest ist identisch mit meinem OP):
$config['password_dovecotpw_method'] = 'BLF-CRYPT';
$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 12';