Ошибка аутентификации Postfix + Dovecot + Roundcube

Вопрос или проблема

Я пытаюсь установить 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 в вашем случае, необходимо обратить внимание на несколько моментов:

  1. Ошибка User is missing userdb info: Эта ошибка указывает на то, что Dovecot не может найти необходимую информацию о пользователе в файле /etc/dovecot/users. Убедитесь, что файл имеет правильный формат и что для каждого пользователя указаны как имя пользователя, так и его пароль. Пример строки в файле может выглядеть так:

    user1@example.com:{CRYPT}сжатый_пароль

    Убедитесь, что файл настроен правильно и у вас есть все необходимые записи для ваших пользователей.

  2. Параметр 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
    }
  3. Проверка логов: Проверьте логи Dovecot, которые находятся по адресу /var/log/dovecot.log. Они могут содержать более детальную информацию о том, что именно идет не так. Обратите особое внимание на сообщения об ошибках, которые могут помочь в диагностике.

  4. Проверка разрешений файлов: Убедитесь, что Dovecot имеет доступ к файлу /etc/dovecot/users. Проверьте владельца и права доступа к файлу:

    ls -l /etc/dovecot/users

    Файл должен быть доступен для чтения, чтобы Dovecot мог извлечь из него данные о пользователе.

  5. Перезапуск Dovecot: После внесения изменений в конфигурацию или файл пользователей не забудьте перезапустить Dovecot. Это можно сделать с помощью команды:

    sudo systemctl restart dovecot
  6. Тестирование: Попробуйте протестировать аутентификацию пользователя с помощью командной строки, чтобы убедиться, что Dovecot правильно распознает пользователя. Вы можете использовать следующую команду:

    doveadm auth test user1@example.com

    Это должно показать, успешно ли проходит аутентификация.

Если, после проверки этих моментов, проблема не устранена, возможно, стоит рассмотреть использование другой схемы аутентификации, либо проверить совместимость версий всех компонентов (Postfix, Dovecot и Roundcube).

Надеюсь, эти шаги помогут вам решить проблему. Если возникнут дополнительные вопросы, не стесняйтесь задавать их!

Оцените материал
Добавить комментарий

Капча загружается...