Рейтинг:0

Roundcube не берет пароль для пользователя при входе в систему

флаг cl

У меня есть roundcube и docker-mailserver в док-контейнерах. Мне удалось сделать возможным изменение пароля с помощью плагина пароля roundcube. Я создал таблицу «почтовый ящик» и добавил два столбца: «имя пользователя» и «пароль». Теперь это работает, все пользователи могут менять свои пароли.

Но по-прежнему roundcube регистрирует пользователей по паролям из /config/postfix-accounts.cf, а не из базы данных.

Как я могу заставить roundcube брать пароли из базы данных (MySQL)?

Конечно, IMAP и POP3 также должны брать пароль из базы данных, а не из данного файла.

Roundcube 1.5.2, докер-почтовый сервер 10.4.0.

vidarlo avatar
флаг ar
Вы читали соответствующую документацию? Что вы пытались? Вы читали соответствующие файлы конфигурации для подсказок?
pbies avatar
флаг cl
@видарло Да, да. Похоже, в roundcube отсутствует код для входа в систему с паролем из базы данных.
pbies avatar
флаг cl
В настоящее время я пытаюсь сделать пользователей аутентификации roundcube паролями из базы данных, а не из файла. Может быть, нужно изменить конфигурацию dovecot?
Рейтинг:0
флаг cl

Итак, было проделано много работы + много исследований:

  1. у вас должен быть отдельный контейнер MySQL и контейнеры, использующие его
  2. docker-mailserver должен использовать эти строки вместо изображение:
строить:
  контекст: .
  докерфайл: Докерфайл
  1. Докерфайл должен быть:
ОТ docker.io/mailserver/docker-mailserver: последний
RUN apt-get update && apt-get install -y dovecot-mysql
  1. как вы можете видеть, он должен запускаться с docker-compose с --строить параметр
  2. голубятня-mysql должен быть установлен так же, как и для плагина для получения пароля из базы данных MySQL (этот плагин должен быть включен для roundcube в файле конфигурации - для смены паролей в базе данных из roundcube)
  3. в etc/dovecot/10-auth.conf вам нужно прокомментировать !include auth-passwdfile.inc с #
  4. в этом же файле раскомментировать #!include auth-sql.conf.ext
  5. в файле 10-ssl.conf сделать линию ssl=да
  6. это может понадобиться для пользовательская база данных также
  7. сделать в вашей контейнерной базе данных таблицу почтовый ящик с колоннами имя пользователя, пароль
  8. добавить хотя бы одного пользователя с паролем $1$... - зашифровано
  9. dovecot.cf файл должен иметь ssl=да и вы можете добавить disable_plaintext_auth = да
  10. имеют /etc/голубятня как том (взять файлы внутри контейнера)
  11. в /etc/dovecot/dovecot-sql.conf.ext имеют:
драйвер = mysql
connect = host=mail_mysql_cont dbname=db user=username password=root_passwd_for_db
пароль_запрос = \
  ВЫБЕРИТЕ имя пользователя КАК пользователь, пароль \
  ИЗ почтового ящика, ГДЕ имя пользователя = '%u'
пользовательский_запрос = \
  ВЫБЕРИТЕ '/tmp' AS home, 9999 AS uid, 9999 AS gid;
  1. в /etc/dovecot/auth-sql.conf.ext имеют:
БД {
  драйвер = sql
  аргументы = /etc/dovecot/dovecot-sql.conf.ext
}

Я обновлю ответ позже, так как буду работать над проблемой дальше.

РЕДАКТИРОВАТЬ:

Чтобы сделать возможным изменение пароля в Roundcube, вам необходимо подключить базу данных MySQL и таблицу почтовый ящик создано как минимум из столбцов имя пользователя и пароль.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.