ПРИМЕЧАНИЕ: Некоторые из этого сообщения содержат потенциально конфиденциальную информацию, которую я подверг цензуре. Если вы видите где-нибудь случайные груды звездочек, то вот почему.
Я пытаюсь создать почтовый сервер с помощью 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, похоже, считает, что они слишком похожи на спам. Извините!
Резиновая уточка. Оказывается, мне не следовало устанавливать auth_username_format
в /etc/dovecot/conf.d/10-auth.conf
. Комментируя это, Dovecot смогла успешно прочитать записи в базе данных.