公共dovecot命名空间仅对某些用户可见

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

我试图设置命名空间,如下所示:

 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客户端中显示。 我怎样才能确保其他用户不能观察到这个命名空间存在?

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

 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 

在文件中。 (感谢dovecot邮件列表上的Steffen Kaiser帮助。)