我有一个 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 邮件列表感谢你们对此的帮助。