无法让dovecot作为vmail用户运行

时间:2013-08-01 21:05:41

标签: ldap dovecot

我正在尝试使用具有maildir结构的虚拟用户来设置postfix / dovecot环境。我已经为虚拟maildirs设置了一个目录,Postfix可以很好地用作'vmail'用户。用户身份验证通过LDAP连接发送到Active Directory服务器。

我有Dovecot通过LDAP进行身份验证,事情似乎运行顺利,但我不能让它作为'vmail'用户访问maildirs。相反,它希望作为经过身份验证的LDAP用户进行访问。例如:

Aug  1 15:52:08 servername dovecot: imap(ldapUserHere): Error: open(/var/mail/vhosts/server.com/ldapUserHere/cur/1375390304.V901Ida20094M961759.servername:2,) failed: Permission denied (euid=10093(ldapUserHere) egid=10002(<unknown>) missing +r perm: /var/mail/vhosts/server.com/ldapUserHere/cur/1375390304.V901Ida20094M961759.smhraid:2,, dir owned by 1001:1001 mode=0777)

在上面,“ldapUserHere”的所有实例都是我通过imap登录的用户(通过LDAP进行身份验证)。我试图强迫Dovecot使用'vmail'用户和组(uid和gid都是1001),但它忽略了conf中的指令。

我发现远程关闭的唯一解释是在dovecot维基中,声明通过LDAP检索的UID和GID将覆盖dovecot.conf中的mail_gid和mail_uid设置。

有没有办法强制它使用'vmail'用户,无论如何,或者在LDAP连接期间保持gid / uid被检索的方式?

谢谢

1 个答案:

答案 0 :(得分:1)

终于找到了解决方案,

运行'dovecot -n'给出了在所有配置文件组合后运行dovecot的配置。我在dovecot.conf中有passdb和userdb的所有配置选项,但我没有意识到这些选项也在/etc/dovecot/conf.d目录中的文件中定义。经过调查,我发现了一个有冲突的userdb指令,一旦删除,事情就会变得清醒。

希望这有助于将来。