0

我正在尝试使用具有 maildir 结构的虚拟用户来设置 postfix/dovecot 环境。我已经为虚拟邮件目录设置了一个目录,并且 Postfix 可以作为用户“vmail”正常使用。用户身份验证通过与 Active Directory 服务器的 LDAP 连接进行。

我通过 LDAP 进行了 Dovecot 身份验证,一切似乎运行顺利,但我无法让它以“vmail”用户身份访问邮件目录。相反,它希望以经过身份验证的 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.xml 中的指令。

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

有没有办法强制它无论如何都使用“vmail”用户,或者有办法防止在 LDAP 连接期间检索 gid/uid?

谢谢

4

1 回答 1

1

终于找到了解决办法

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

希望这对将来的某人有所帮助。

于 2013-08-07T13:38:46.837 回答