У меня был последний день много проблем с userdb dovecot. Проблема заключалась в том, что dovecot считывал только файл /etc/passwd а не мой пользовательский файл /etc/dovecot/users . Я изменил /etc/dovecot/auth-passwdfile.conf.ext так, чтобы он выглядел так (vmail - это пользователь, которого я создал на своем компьютере с Debian):

# Authentication for passwd-file users. Included from 10-auth.conf.
# passwd-like file with specified location.
# <doc/wiki/AuthDatabase.PasswdFile.txt>

passdb {
  driver = passwd-file
  args = /etc/dovecot/users
}


userdb {
  driver = static
  args = uid=vmail gid=vmail home=/home/vmail/%u
}

Мой пользовательский файл выглядел следующим образом (системный синтаксис файла /etc /passwd):

test:{PLAIN}pass::::::
bill:{PLAIN}secret::::::

Но когда я проверил, может ли dovecot прочитать мой файл пользователей ( команда : doveadm user USERNAME), он не смог прочитать файл пользователей.

После того, как я проверил, все ли написано правильно, я начал искать ошибку.

И я нашел это :)

Так как dovecot.conf - это просто файл, включающий другие конфигурационные файлы, для поиска в них ошибок. Каким-то образом dovecot все еще искал пользователей в /etc/passwd а не в моем /etc/dovecot/users , хотя я изменил auth-passwdfile.conf.ext . Это было в 10-auth.conf file . Этот файл имеет несколько опций для включения файлов conf. По умолчанию он включает файл auth-system.conf.ext . Но этот файл по-прежнему определяет, что /etc/passwd используется в качестве нашей пользовательской userdb . Поэтому я прокомментировал эту строку и расшифровал ее, включая наш файл auth-passwd.conf.ext . И просто быть за исключением Я также изменил путь в auth-system.conf.ext файл в нашем /etc/dovecot/users файле / и т.д. / пользователей userdb

И это все. После этого это сработало. doveadm user test работает.

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

0