Dovecot не может войти в систему Виртуальный пользователь

Здравствуйте, я работаю Linux 4.9.0-11-amd64 # 1 SMP Debian 4.9.189-3 + deb9u1 (2019-09-20) x86_64 GNU / Linux

Я новичок в настройке почтовых серверов. У меня есть постфикс для SMTP, и он может получать электронные письма. Версия Postfix: mail_version = 3.1.12

Я также установил версию Dovecot: 2.2.27 (c0f36b0) Моя конфигурация такова, что POSTFIX настроен на использование DOVECOT SASL через локальный сокет.

Моя система настроена для хранения электронной почты в / var / mail / / . Для каждого домена у меня есть собственный файл passwd, в котором dovecot должен искать имена пользователей и пароли. / var / mail / / passwd .

Я создал виртуального пользователя для доступа к почте и аутентификации пользователей. Моя конфигурация голубятни: В /etc/dovecot/dovecot.conf я добавил в конец файла

userdb {
  driver = passwd-file
  args = username_format=%n /var/mail/%d/passwd
  default_fields = uid=virtualmail gid=virtualmail home=/var/mail/%d/%n
}
passdb {
  driver = passwd-file
  args = username_format=%n /var/mail/%d/passwd
}

содержимое файла passwd в формате:

<username_without_domain>:{plain}test

В /etc/dovecot/conf.d/ 10-auth.conf Я установил:

disable_plaintext_auth = no
auth_mechanisms = plain login

В /etc/dovecot/conf.d/10-mail.conf я установил:

mail_home = /var/mail/home/%d/%n
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%d/%n
mail_privileged_group = virtualmail

Теперь проблема: Я тестировал конфигурацию с помощью telnet. POSTFIX получает электронную почту, сохраняет ее. Нет проблем. Когда я попытался войти в Dovecot IMAP с помощью Telnet, я получил следующее сообщение:

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH-LOGIN] Dovecot ready.
a login "username@owndomain.org" "test"
a NO [UNAVAILABLE] Internal error occured. Refer to server log for more information.

Я включил подробное ведение журнала, и это результат журналов: /var/log/dovecot.log имел следующее сообщение:

Nov 16 14:20:49 auth: Error: plain(username@owndomain.org,192.168.9.131,<RF4llXaXisPAqAmD>): user not found from any userdbs
Nov 16 14:20:49 imap: Error: Authenticated user not found from userdb, auth lookup id=684589057 (client-pid=9601 client-id=1)

/var/log/dovecot-debug.log имел это сообщение:

Nov 16 14:20:18 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
Nov 16 14:20:18 auth: Debug: Read auth token secret from /var/run/dovecot/auth-token-secret.dat
Nov 16 14:20:18 auth: Debug: auth client connected (pid=9601)
Nov 16 14:20:47 auth: Debug: client in: AUTH    1       PLAIN   service=imap    session=RF4llXaXisPAqAmD        lip=192.168.2.2 rip=192.168.9.131       lport=143       rport=$
Nov 16 14:20:47 auth-worker(9603): Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
Nov 16 14:20:47 auth-worker(9603): Debug: pam(username@owndomain.org,192.168.9.131,<RF4llXaXisPAqAmD>): lookup service=dovecot
Nov 16 14:20:47 auth-worker(9603): Debug: pam(username@owndomain.org,192.168.9.131,<RF4llXaXisPAqAmD>): #1/1 style=1 msg=Password:
Nov 16 14:20:49 auth: Debug: passwd-file /var/mail/owndomain.org/passwd: Read 2 users in 0 secs
Nov 16 14:20:49 auth: Debug: passwd-file(username@owndomain.org,192.168.9.131,<RF4llXaXisPAqAmD>): lookup: user=username file=/var/mail/owndomain.org/passwd
Nov 16 14:20:49 auth: Debug: client passdb out: OK      1       user=username@owndomain.org
Nov 16 14:20:49 auth: Debug: master in: REQUEST 684589057       9601    1       a61dd67ee43390596ddf86e6c08db6f9        session_pid=9604        request_auth_token
Nov 16 14:20:49 auth-worker(9603): Debug: passwd(username@owndomain.org,192.168.9.131,<RF4llXaXisPAqAmD>): lookup
Nov 16 14:20:49 auth: Debug: passwd-file(username@owndomain.org,192.168.9.131,<RF4llXaXisPAqAmD>): lookup: user=username file=/var/mail/owndomain.org/passwd
Nov 16 14:20:49 auth: Debug: master userdb out: NOTFOUND        684589057

И я совершенно не понимаю, в чем проблема . Потому что кажется, что пароль был найден, а пользователя нет? Пароль и пользователь ищутся в одном файле passwd. Я что-то забыл настроить? Любая помощь приветствуется!

0
задан 16 November 2019 в 15:51
1 ответ

Хорошо я узнал проблему. Или таким образом, это кажется.

В passwd файле я использовал формат

username:{scheme}password

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

username:{scheme}password:::::

Issue решен.

0
ответ дан 4 December 2019 в 23:48

Теги

Похожие вопросы