Небольшая заметка на тему настройки своего почтового сервера с веб интерфейсом roundcube. У него есть плагин, который позволяет пользователю самостоятельно менять свой почтовый пароль. Проблема в том, что по умолчанию он не заработает, обязательно нужна настройка. При этом она будет сильно зависеть от конкретной ситуации. Я опишу пару таких типовых настроек.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Итак, речь идет о почтовом сервере, настроенном примерно так же, как в моей статье - Настройка postfix + dovecot + mysql база + postfixadmin + roundcube + dkim на CentOS 8. У нас установлен roundcube и активирован плагин password. В конфигурационном файле roundcube это выглядит следующим образом:
$config['plugins'] = array('acl', 'managesieve', 'password', 'userinfo');
В веб интерфейсе функционал по смене пароля реализован вот так.
Если вы просто активируете плагин и не настроите, пользователь будет получать ошибку при попытке изменить пароль. Это и понятно, ведь у roundcube своя база данных и никакого подключения к базе с учетными записями почты у нее по умолчанию нет. Вот это и надо настроить. Для этого идем в директорию плагина - /plugins/password и создаем конфигурационный файл, который будем настраивать.
# cp config.inc.php.dist config.inc.php
Открываем конфиг и добавляем туда следующие параметры.
$config['password_algorithm'] = 'md5-crypt'; $config['password_db_dsn'] = 'mysql://dbuser:dbpassword@localhost/postfix'; $config['password_query'] = 'UPDATE postfix.mailbox SET password = %P, modified = NOW() WHERE username = %u';
md5-crypt | метод шифрования паролей в базе mysql |
dbuser | пользователь базы данных, где хранятся учетки |
dbpassword | пароль пользователя |
postfix | база данных mysql |
Если у вас пароли в базе не зашифрованы, то настройки будут выглядеть вот так:
$config['password_algorithm'] = 'clear'; $config['password_db_dsn'] = 'mysql://dbuser:dbpassword@localhost/postfix'; $config['password_query'] = 'UPDATE postfix.mailbox SET password = %p, modified = NOW() WHERE username = %u';
Сохраняйте конфигурационный файл и пробуйте изменять пароль через web интерфейс. Теперь изменение почтового пароля должно корректно работать.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Владимир меня PostfixAdmin достал своей политикой сложности пароля, отключить это как то можно?
Где-то в конфиге postfixadmin это точно настраивается.
nano /var/www/postfixadmin/config.inc.php
$CONF['password_validation'] = array(
# '/regular expression/' => '$PALANG key (optional: + parameter)',
'/.{5}/' => 'password_too_short 5', # minimum length 5 characters
'/([a-zA-Z].*){3}/' => 'password_no_characters 3', # must contain at least 3 characters
# '/([0-9].*){2}/' => 'password_no_digits 2', # must contain at least 2 digits
вот проверка сложности пароля в postfixadmin на регулярах
Привет.
У PastFixAdmin есть механизм восстановления пароля с отправкой ссылки на ящик, привязанный к пользователю. Если перенести эту часть кода в Rouncube, то пользователь сможет сам восстановить пароль к своей почте.
Добрый день!
Пользователи сможет простые пароли использовать? Или можно где то настроить чтобы пользователем не установили простые пароля.
Точно настраивается в postfixadmin. По идее и тут должно, настройка напрашивается, но я не проверил.