Рейтинг:1

Dovecot + Mysql не может аутентифицировать пользователей

флаг th

Я настраиваю почтовый сервер, используя postfix+dovecot+mysql в Ubuntu 20.04.

Я застрял, пытаясь аутентифицировать пользователей. Он не получает информацию о домене в переменной конфигурации %d (https://doc.dovecot.org/configuration_manual/config_file/config_variables/)

Это мой файл /etc/dovecot/dovecot-sql.conf.ext:

драйвер = mysql
connect = host=127.0.0.1 dbname=mail user=mail password=***********
default_pass_scheme = SHA512-CRYPT
user_query = выберите '/home/' домашний, 5000 id, 5000 от virtual_users u присоединиться к virtual_domains d на u.domain_id=d.id ГДЕ u.email='%n' и d.name='%d'
password_query = выберите u.email в качестве пользователя, d.name в качестве домена, пароль от virtual_users u join virtual_domains d на u.domain_id=d.id ГДЕ u.email='%n' и d.name='%d'
iterate_query = выберите u.email в качестве пользователя, d.name в качестве домена, пароль от virtual_users u join virtual_domains d на u.domain_id=d.id

Вот что я вижу в логах:

05 сентября 15:00:20 мастер: Информация: Dovecot v2.3.7.2 (3c910f64b) запускается для pop3, imap, lmtp, imap, lmtp, pop3 (дампы ядра отключены)
5 сентября, 15:01:07 авторизация: отладка: загрузка модулей из каталога: /usr/lib/dovecot/modules/auth
5 сентября, 15:01:07 авторизация: отладка: модуль загружен: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
5 сентября 15:01:07 авторизация: отладка: модуль загружен: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
05 сентября, 15:01:07 auth: Debug: чтение секрета токена аутентификации из /var/run/dovecot/auth-token-secret.dat
05 сент., 15:01:07 auth: Debug: клиент аутентификации подключен (pid=0)
5 сентября, 15:01:07 auth: Debug: client in: AUTH 3 PLAIN service=smtp nologin lip=10.0.0.4 rip=209.85.218.43 secure resp=<hidden>
05 сентября, 15:01:07, авторизация: отладка: sql(yvan,209.***.***.***): выполнение поиска в базе данных passdb
05 сентября, 15:01:07 auth-worker (7518): отладка: загрузка модулей из каталога: /usr/lib/dovecot/modules/auth
05 сентября, 15:01:07 auth-worker (7518): отладка: модуль загружен: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
5 сентября 15:01:07 auth-worker (7518): отладка: модуль загружен: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
05 сентября, 15:01:07 auth-worker(7518): отладка: conn unix:auth-worker (pid=7516,uid=115): сервер принял соединение (fd=14)
05 сентября, 15:01:07 auth-worker(7518): Debug: conn unix:auth-worker (pid=7516,uid=115): отправка рукопожатия версии
05 сентября, 15:01:07 auth-worker(7518): отладка: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: обработка запроса PASSV
05 сентября, 15:01:07 auth-worker(7518): отладка: sql(yvan,209.***.***.***): выполнение поиска в базе данных passdb
05 сентября 15:01:07 auth-worker(7518): Отладка: sql(yvan,209.***.***.***): запрос: выберите u.email как пользователя, d.name как домен, пароль от virtual_users u присоединиться к virtual_domains d на u.domain_id=d.id ГДЕ u.email='yvan' и d.name=''
05 сентября 15:01:07 auth-worker(7518): Информация: sql(yvan,209.***.***.***): неизвестный пользователь
05 сентября, 15:01:07, авторизация: отладка: sql(yvan,209.***.***.***): завершен поиск в базе данных passdb
05 сент., 15:01:07 auth: Debug: auth(yvan,209.***.***.***): запрос аутентификации завершен
05 сентября 15:01:07 auth-worker(7518): Отладка: sql(yvan,209.***.***.***): Завершен поиск в базе данных passdb
05 сентября 15:01:07 auth-worker(7518): отладка: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: завершено
05 сентября, 15:01:09 авторизация: отладка: клиентская база данных вышла: FAIL 3 user=yvan [email protected]
5 сентября 15:02:07 auth-worker (7518): отладка: conn unix: auth-worker (pid = 7516, uid = 115): отключено: соединение закрыто (fd = -1)
05 сентября, 15:02:59 auth: Debug: клиент аутентификации подключен (pid=7535)
05 сент., 15:02:59 pop3-login: Отладка: SSL: где=0x10, ret=1: до инициализации SSL
05 сент., 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: до инициализации SSL
05 сент., 15:02:59 pop3-login: Отладка: SSL: где=0x2002, ret=-1: до инициализации SSL
05 сент., 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: до инициализации SSL
05 сент., 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: SSLv3/TLS читать клиент привет
05 сент., 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: SSLv3/TLS записывает сервер, привет
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: сертификат записи SSLv3/TLS
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: Обмен ключами записи SSLv3/TLS
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где = 0x2001, ret = 1: сервер записи SSLv3/TLS выполнен
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2002, ret=-1: сервер записи SSLv3/TLS выполнен
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2002, ret=-1: сервер записи SSLv3/TLS выполнен
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2002, ret=-1: сервер записи SSLv3/TLS выполнен
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2002, ret=-1: сервер записи SSLv3/TLS выполнен
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где = 0x2001, ret = 1: сервер записи SSLv3/TLS выполнен
05 сентября 15:02:59 pop3-login: Отладка: SSL: где = 0x2001, ret = 1: SSLv3/TLS чтение обмена ключами клиента
5 сентября, 15:02:59 pop3-login: Отладка: SSL: где = 0x2001, ret = 1: SSLv3/TLS чтение, изменение спецификации шифрования
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: чтение SSLv3/TLS завершено
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: SSLv3/TLS записывает билет сеанса
5 сентября, 15:02:59 pop3-login: Отладка: SSL: где = 0x2001, ret = 1: SSLv3/TLS запись изменения спецификации шифрования
05 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x2001, ret=1: запись SSLv3/TLS завершена
5 сентября, 15:02:59 pop3-login: Отладка: SSL: где=0x20, ret=1: Согласование SSL успешно завершено
5 сентября, 15:02:59 pop3-login: Отладка: SSL: где = 0x2002, ret = 1: согласование SSL успешно завершено
5 сентября, 15:02:59 auth: Debug: client in: AUTH 1 PLAIN service=pop3 secure=tls session=IHYO1EDLFNpPmIbe lip=10.0.0.4 rip=79.***.***.*** lport=995 rport =55828 local_name=mail.test-domain.com ssl_cipher=ECDHE-RSA-AES256-GCM-SHA384 ssl_cipher_bits=256 ssl_pfs=KxECDHE ssl_protocol=TLSv1.2 resp=<скрытый>
05 сентября, 15:02:59, авторизация: отладка: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): выполнение поиска в базе данных passdb
05 сентября, 15:02:59 auth-worker(7536): отладка: загрузка модулей из каталога: /usr/lib/dovecot/modules/auth
5 сентября, 15:02:59 auth-worker (7536): отладка: модуль загружен: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
05 сентября 15:02:59 auth-worker (7536): отладка: модуль загружен: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
05 сентября, 15:02:59 auth-worker(7536): отладка: conn unix:auth-worker (pid=7516,uid=115): сервер принял соединение (fd=14)
05 сентября, 15:02:59 auth-worker(7536): отладка: conn unix:auth-worker (pid=7516,uid=115): отправка рукопожатия версии
5 сентября, 15:02:59 auth-worker(7536): отладка: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: обработка запроса PASSV
05 сентября, 15:02:59 auth-worker(7536): отладка: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): выполнение поиска в базе данных passdb
05 сентября, 15:02:59 auth-worker(7536): Отладка: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): запрос: выберите u.email в качестве пользователя, d. имя как домен, пароль от virtual_users u присоединиться к virtual_domains d на u.domain_id=d.id ГДЕ u.email='yvan' и d.name=''
05 сентября 15:02:59 auth-worker(7536): Информация: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): неизвестный пользователь
05 сентября, 15:02:59, авторизация: отладка: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): завершен поиск в базе данных passdb
5 сентября, 15:02:59, авторизация: отладка: авторизация (yvan, 79.***.***.***, <IHYO1EDLFNpPmIbe>): запрос аутентификации завершен
05 сентября, 15:02:59 auth-worker(7536): Debug: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): завершен поиск в базе данных passdb
5 сентября, 15:02:59 auth-worker(7536): отладка: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: завершено
05 сентября, 15:03:01 авторизация: отладка: клиентская база данных вышла: FAIL 1 пользователь = yvan original_user = [email protected]
05 сентября, 15:03:01 pop3-login: Отладка: игнорирование неизвестного дополнительного поля passdb: original_user
05 сентября 15:03:01 pop3-login: Отладка: ошибка SSL: соединение закрыто
05 сент., 15:03:01 pop3-login: Информация: Отключено (авторизация не удалась, 1 попытка за 2 секунды): user=<yvan>, method=PLAIN, rip=79.***.***.*** , lip=10.0.0.4, TLS: соединение закрыто, сеанс=<IHYO1EDLFNpPmIbe>
05 сентября 15:03:01 pop3-login: Отладка: предупреждение SSL: закрыть уведомление

Я что-то упустил в другом файле конфигурации? Что я делаю не так?

Michael Hampton avatar
флаг cz
Пользователь, вошедший в систему, не предоставил его.
флаг th
Может быть, @MichaelHampton, но я использовал два разных почтовых клиента с двух разных компьютеров и настроил их вручную. Попробую с другим клиентом.
Рейтинг:0
флаг th

Я нашел проблему. В /etc/dovecot/conf.d/10-auth.conf проверьте этот параметр и убедитесь, что его значение равно %u

auth_username_format=%u

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

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