Dovecot:虚拟和本地用户同名:不允许用户使用UID 1000的邮件访问

那么,情况似乎很简单,但我找不到一个满意的答案。

我有一个Postfix / Dovecot安装,稍后configuration为与虚拟电子邮件一起工作,就像一个魅力…对于没有在服务器上的帐户的虚拟用户。

为了使事情更清楚,我们举一个例子:虚拟用户在虚拟用户数据库(/ etc / dovecot / users)中注册,并且能够通过IMAP和SMTP接收和发送邮件而没有任何问题。 另一方面, localuser是服务器上的常规系统用户。 现在,如果我在名为localuser的Dovecot虚拟用户数据库中添加一个新用户,并尝试在IMAP中以此虚拟用户与本地别名的方式进行连接,则在日志中会出现以下错误:

 imap: Error: user localuser: Mail access for users with UID 1000 not permitted ([etc]). 

很显然,由于Postfix在系统用户中发现了一个名为localuser的用户,它试图与用户进行身份validation,甚至不查看虚拟用户。

所以这里是一个问题:我如何本地用户之前使用Postfix查找虚拟用户?

这是甚至可能或者我坚持混合本地和虚拟用户的混乱configuration?

正如我所料,解决scheme非常简单/etc/dovecot/conf.d/10-auth.conf包含两个文件:系统用户的auth-system.conf.ext用于系统用户的auth-mydomain.conf.ext虚拟用户。 包含这些文件的顺序非常重要,系统用户在通过交换两行来轻松执行虚拟用户之后进行查找:

 [...] !include auth-mydomain.conf.ext !include auth-system.conf.ext