Вопрос или проблема
Я пытаюсь установить Postfix + Dovecot + Roundcube, но при доступе из Roundcube я получаю следующую ошибку:
auth: Ошибка: passwd-file /etc/dovecot/users: Пользователь [email protected] отсутствует информация о userdb
Я храню электронные письма с паролями в /etc/dovecot/users, зашифрованные с помощью CRYPT. Когда я пытаюсь добавить default_pass_scheme = CRYPT в раздел passdb, Dovecot отказывается запускаться и выдает ошибку, не зная, что такое “default_pass_scheme”.
Мой “dovecot -n”:
# 2.3.21 (47349e2482): /etc/dovecot/dovecot.conf
# Версия Pigeonhole 0.5.21 (f6cd4b8e)
# ОС: Linux 6.8.0-45-generic x86_64 Ubuntu 24.04.1 LTS ext4
# Имя хоста: vps
listen = *
log_path = /var/log/dovecot.log
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/users
driver = passwd-file
}
protocols = imap lmtp pop3
service imap-login {
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
service submission-login {
inet_listener submission {
port = 587
}
inet_listener submissions {
port = 465
}
}
ssl = required
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # скрыто, используйте -P для отображения
ssl_key = # скрыто, используйте -P для отображения
ssl_prefer_server_ciphers = yes
userdb {
args = /etc/dovecot/users
driver = passwd-file
}
Ответ или решение
Для решения проблемы с ошибкой аутентификации в конфигурации Postfix, Dovecot и Roundcube в вашем случае, необходимо обратить внимание на несколько моментов:
-
Ошибка User is missing userdb info: Эта ошибка указывает на то, что Dovecot не может найти необходимую информацию о пользователе в файле
/etc/dovecot/users
. Убедитесь, что файл имеет правильный формат и что для каждого пользователя указаны как имя пользователя, так и его пароль. Пример строки в файле может выглядеть так:user1@example.com:{CRYPT}сжатый_пароль
Убедитесь, что файл настроен правильно и у вас есть все необходимые записи для ваших пользователей.
-
Параметр default_pass_scheme: Если Dovecot не распознает
default_pass_scheme
, возможно, вы используете неверную версию или это может быть вызвано отсутствием нужных модулей. Вам следует проверить, установлен ли Dovecot с поддержкой нужной схемы аутентификации. Для версии Dovecot 2.3.x правильное расположение параметраdefault_pass_scheme
может быть в разделеpassdb
. Например:passdb { driver = passwd-file args = /etc/dovecot/users default_pass_scheme = CRYPT }
-
Проверка логов: Проверьте логи Dovecot, которые находятся по адресу
/var/log/dovecot.log
. Они могут содержать более детальную информацию о том, что именно идет не так. Обратите особое внимание на сообщения об ошибках, которые могут помочь в диагностике. -
Проверка разрешений файлов: Убедитесь, что Dovecot имеет доступ к файлу
/etc/dovecot/users
. Проверьте владельца и права доступа к файлу:ls -l /etc/dovecot/users
Файл должен быть доступен для чтения, чтобы Dovecot мог извлечь из него данные о пользователе.
-
Перезапуск Dovecot: После внесения изменений в конфигурацию или файл пользователей не забудьте перезапустить Dovecot. Это можно сделать с помощью команды:
sudo systemctl restart dovecot
-
Тестирование: Попробуйте протестировать аутентификацию пользователя с помощью командной строки, чтобы убедиться, что Dovecot правильно распознает пользователя. Вы можете использовать следующую команду:
doveadm auth test user1@example.com
Это должно показать, успешно ли проходит аутентификация.
Если, после проверки этих моментов, проблема не устранена, возможно, стоит рассмотреть использование другой схемы аутентификации, либо проверить совместимость версий всех компонентов (Postfix, Dovecot и Roundcube).
Надеюсь, эти шаги помогут вам решить проблему. Если возникнут дополнительные вопросы, не стесняйтесь задавать их!