Puncte:0

Roundcube nu primește parola pentru utilizator la autentificare

drapel cl

Am roundcube și docker-mailserver în containere docker. Am reușit să fac posibilă schimbarea parolei prin pluginul de parolă roundcube. Am creat tabelul „căsuță poștală” și am adăugat două coloane: „nume utilizator” și „parolă”. Acum funcționează, toți utilizatorii își pot schimba parolele.

Dar totuși, roundcube conectează utilizatorii prin parole din /config/postfix-accounts.cf, nu din baza de date.

Cum pot face ca roundcube să ia parole din baza de date (MySQL)?

De asemenea, IMAP și POP3 ar trebui să ia parola din baza de date, nu din fișierul dat.

Roundcube 1.5.2, docker-mailserver 10.4.0.

vidarlo avatar
drapel ar
Ați citit documentația relevantă? Ce ai incercat? Ați citit fișierele de configurare relevante pentru indicii?
pbies avatar
drapel cl
@vidarlo Da, da. Se pare că roundcube îi lipsește codul pentru autentificare, luând parola din baza de date.
pbies avatar
drapel cl
În prezent, ceea ce încerc să fac este să fac utilizatori roundcube auth prin parole din baza de date, nu din fișier. Poate trebuie schimbată configurația porumbelului?
Puncte:0
drapel cl

Ok, deci a fost multă muncă implicată + multe cercetări:

  1. trebuie să aveți container MySQL separat și containere care îl folosesc
  2. docker-mailserver trebuie să folosească aceste linii în loc de imagine:
construi:
  context: .
  dockerfile: Dockerfile
  1. Dockerfile trebuie să fie:
DE LA docker.io/mailserver/docker-mailserver:latest
RUN apt-get update && apt-get install -y dovecot-mysql
  1. după cum puteți vedea, trebuie să fie rulat cu docker-compune cu --construi parametru
  2. dovecot-mysql trebuie instalat așa cum este pentru pluginul pentru obținerea parolei din baza de date MySQL (acest plugin trebuie să fie activat pentru roundcube în fișierul de configurare - pentru a schimba parolele din baza de date din roundcube)
  3. în etc/dovecot/10-auth.conf trebuie sa comentezi !include auth-passwdfile.inc cu #
  4. în același fișier decomentează #!include auth-sql.conf.ext
  5. în dosar 10-ssl.conf face linie ssl=da
  6. acest lucru poate fi necesar pentru userdb de asemenea
  7. creați în baza de date container un tabel cutie poștală cu coloane nume de utilizator, parola
  8. adăugați cel puțin un utilizator cu parolă $1$... - criptat
  9. porumbel.cf fișierul trebuie să aibă ssl=da și poate doriți să adăugați disable_plaintext_auth=da
  10. avea /etc/dovecot ca volum (luați fișierele din interiorul containerului)
  11. în /etc/dovecot/dovecot-sql.conf.ext avea:
driver = mysql
connect = host=mail_mysql_cont dbname=db user=nume utilizator parola=root_passwd_for_db
interogare_parolă = \
  SELECTAȚI numele de utilizator AS utilizator, parola \
  DIN căsuța poștală WHERE nume de utilizator = '%u'
user_query = \
  SELECT '/tmp' AS home, 9999 AS uid, 9999 AS gid;
  1. în /etc/dovecot/auth-sql.conf.ext avea:
passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

Voi actualiza răspunsul mai târziu, deoarece voi lucra în continuare la problemă.

EDITAȚI | ×:

Pentru a face posibilă schimbarea parolei în Roundcube, trebuie să aveți atașată baza de date MySQL și un tabel cutie poștală creat cu cel puțin coloane nume de utilizator și parola.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.