公共 dovecot 命名空间仅对部分用户可见

公共 dovecot 命名空间仅对部分用户可见

我有一个 dovecot IMAP 服务器(版本 2.1.7),其中有 Maildirs 和虚拟用户设置(例如,所有帐户都映射到同一个系统用户)。我想创建一个在用户A和之间共享的公共命名空间B,但不在任何其他用户之间共享。

我尝试按如下方式设置命名空间:

namespace {
  type = public
  separator = .
  prefix = INBOX.XFeeds.
  location = maildir:/var/vhosts/feeds:INDEX=~/Maildir/feeds/
  subscriptions = no
}

以及 acl 文件:

/var/vhosts/feeds $ cat dovecot-acl
user=A lrwstipekxa
user=B lrwipk

现在用户C无法访问 XFeeds 邮箱的内容,但它仍显示在 IMAP 客户端中。我如何确保其他用户无法观察到此命名空间的存在?

答案1

实现此目的的一种方法是默认禁用命名空间:

namespace foo {
  type = public
  separator = .
  prefix = INBOX.XFeeds.
  location = maildir:/var/vhosts/feeds:INDEX=~/Maildir/feeds/
  subscriptions = no
  list = no
}

并通过 userdb 为选定用户启用它。例如,如果您使用密码文件,请输入

username:{MD5}password::::::userdb_namespace/foo/list=yes

(感谢 Steffen Kaiserdovecot 邮件列表感谢你们对此的帮助。

相关内容