Невозможно войти в систему ни одного виртуального пользователя на сервере IMAP (Dovecot): pam_authenticate() не удалось, неизвестный пользователь

Невозможно войти в систему ни одного виртуального пользователя на сервере IMAP (Dovecot): pam_authenticate() не удалось, неизвестный пользователь

ПРИМЕЧАНИЕ: Часть этого поста содержит потенциально конфиденциальную информацию, которую я зацензурировал. Если вы видите где-то случайные кучи звездочек, вот почему.

Я пытаюсь создать почтовый сервер с использованием Postfix, Dovecot, MariaDB на облачном экземпляре под управлением Ubuntu 18.04 LTS. Для этого я следовалэтот урок. Ранее мне удалось создать систему, с помощью которой я мог входить в систему виртуальных пользователей, настроенных в связанной базе данных, а также отправлять и получать почту.

Однако, через некоторое время после того, как я настроил тот же самый веб-сервер на использование OpenDKIM для повышения безопасности, все перестало работать. Я не смог войти в свою учетную запись и больше не могу получать почту.

Когда я пытаюсь войти в систему, независимо от того, использую ли я Thunderbird или Roundcube, мои учетные данные отклоняются.

Сначала я попробовал изменить пароль к своей учетной записи, изменив ее хэш в базе данных с помощью следующего SQL-запроса:

UPDATE `mailserver`.`virtual_users` SET password=ENCRYPT('newpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))) WHERE username='************';

Я мог визуально видеть с помощью phpMyAdmin, что это изменение успешно записалось в базу данных, но когда я попробовал новый пароль с тем же именем пользователя, мне было отказано в доступе. Затем я попытался создать совершенно нового виртуального пользователя и войти в него. Мне снова было отказано.

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

Сначала я подумал, что это может быть проблема с базой данных, но когда я запускаю postconf для файлов запросов поиска для пользователей, почтовых ящиков и псевдонимов, каждый отдельный тест дает мне ожидаемый результат, как описано в руководстве. Все упоминания учетных данных SQL кажутся правильными. Я попытался перезапустить сервер, и хотя я столкнулся с проблемой, когда MariaDB не могла перезапуститься из-за блокировки apparmor, я все еще не могу войти в систему после полной очистки apparmor из системы и перезапуска базы данных и всех других служб, связанных с почтой.

Это наконец привело меня к просмотру журналов. Они продолжали упоминать сбой функции под названием pam_authenticate. Я нашел вопрос, в котором была похожая проблема, но в нем также упоминалось о нехватке памяти, чего нет в моих журналах.

Я бы привел пример этих логов, но StackExchange, похоже, считает, что они слишком похожи на спам. Извините!

решение1

Резиновая уточка. Оказывается, я не должен был вставлять auth_username_format. /etc/dovecot/conf.d/10-auth.confЗакомментировав его, Dovecot смог успешно прочитать записи в базе данных.

Связанный контент