我是从快递搬过来的。到目前为止,迁移运行良好,我可以使用圆形立方体访问我的邮件目录,配额和筛子过滤器功能齐全。现在我需要启用 maildir 共享并且无法弄清楚如何正确配置 dovecot,因为我的设置有点不同。
首先是设置
虚拟用户。邮件目录位于 /var/vmail/domain.tld/username/ 中。没有Maildir子目录,Maildir直接放在home目录下。所以我们有:home = maildir。在配置中它被翻译为:
userdb {
args = uid=vmail gid=vmail home=/var/vmail/%d/%n/
driver = static
}
mail_location = Maildir:~/
a.chaouche 的 Maildir 如下所示:
root@messagerie[10.10.10.20] /var/vmail/domain.tld/a.chaouche # lsa
total 1.9M
drwx------ 26 vmail vmail 4.0K May 8 11:33 .
drwxr-xr-x 5 vmail vmail 4.0K Apr 7 14:31 ..
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .Coupures Streaming
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .Coupures Streaming.JILFM_ZIK_WR
drwxr-xr-x 2 vmail vmail 4.0K Jun 15 2015 courierimaphieracl
drwx------ 2 vmail vmail 4.0K Mar 24 16:05 courierimapkeywords
-rw-r--r-- 1 vmail vmail 342 Apr 25 17:43 courierimapsubscribed
-rw-r--r-- 1 vmail vmail 460K Apr 25 17:47 courierimapuiddb
drwx------ 2 vmail vmail 728K Apr 27 18:24 cur
-rw------- 1 vmail vmail 0 May 8 11:33 dovecot-acl-list
-rw------- 1 vmail vmail 73K Apr 27 14:57 dovecot.index
-rw------- 1 vmail vmail 32K May 8 10:52 dovecot.index.cache
-rw------- 1 vmail vmail 8.5K May 4 10:21 dovecot.index.log
-rw------- 1 vmail vmail 31 Apr 27 15:12 dovecot-keywords
-rw------- 1 vmail vmail 96 Apr 27 10:06 dovecot.mailbox.log
lrwxrwxrwx 1 vmail vmail 21 Apr 27 16:19 .dovecot.sieve -> sieve/roundcube.sieve
-rw------- 1 vmail vmail 197 Apr 27 18:23 .dovecot.svbin
-rw------- 1 vmail vmail 466K Apr 27 18:24 dovecot-uidlist
drwx------ 6 vmail vmail 4.0K Apr 27 10:10 .Drafts
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .Flux audio
-rw-rw---- 1 vmail vmail 136 Mar 27 14:32 ispconfig_mailsize
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .Je dois repondre
drwx------ 6 vmail vmail 4.0K Apr 27 15:17 .Junk
-rw------- 1 vmail vmail 27 May 5 14:16 maildirsize
drwx------ 2 vmail vmail 4.0K Apr 27 18:24 new
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.Imrpimantes
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.Kaspersky
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.Netia
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.R&AOk-seau
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.Streaming
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.SYSTEM
drwx------ 6 vmail vmail 4.0K Apr 27 10:09 .notifs.Webradios
drwx------ 6 vmail vmail 4.0K Apr 27 18:24 .PRTG
drwx------ 6 vmail vmail 4.0K Apr 27 15:17 .Sent
drwx------ 3 vmail vmail 4.0K Apr 27 18:22 sieve
-rw------- 1 vmail vmail 234 Apr 27 10:08 subscriptions
drwx------ 6 vmail vmail 4.0K Apr 27 18:24 .TEST
-rw-r--r-- 1 vmail vmail 0 Apr 5 15:29 testfile
drwx------ 2 vmail vmail 4.0K May 4 10:21 tmp
drwx------ 6 vmail vmail 4.0K Apr 27 18:24 .Trash
root@messagerie[10.10.10.20] /var/vmail/algerian-radio.dz/a.chaouche #
您可以看出我正在从 courier 迁移,因为除了 dovecot 的文件之外,courier 的文件还在那里。
.notifs 是一个包含许多子文件夹的文件夹,例如 .notifs.Webradios、.notifs.Kaspersky 等。
接下来是我要访问的文件夹
所以 [email protected] 想要访问属于另一个虚拟用户的 a.chaouche@backup .domain.tld 的文件夹,该文件夹位于另一个(虚拟)域中(尽管仍在同一台计算机上)
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # lsa
total 4.7M
drwx------ 15 root root 4.0K May 8 11:12 .
drwxr-xr-x 3 root root 4.0K May 5 16:16 ..
drwx------ 6 root root 4.0K May 5 16:16 .Archive
drwx------ 6 root root 4.0K May 5 16:16 .Archive.Coupures Streaming
drwx------ 6 root root 4.0K May 5 16:16 .Archive.Flux audio
drwx------ 6 root root 4.0K May 5 16:16 .Archive.notifs
drwx------ 6 root root 4.0K May 5 16:16 .Archive.PRTG
-rw-r--r-- 1 root root 80 May 5 16:16 courierimapacl
drwx------ 2 root root 4.0K May 5 16:16 courierimapkeywords
-rw-r--r-- 1 root root 1015K May 5 16:16 courierimapuiddb
drwx------ 2 root root 1.6M May 5 16:17 cur
-rw-r--r-- 1 root root 37 May 8 11:12 dovecot-acl
-rw-r--r-- 1 root root 36 May 8 11:12 dovecot-acl~
drwx------ 5 root root 4.0K May 5 16:16 .Drafts
-rw-r----- 1 root root 254 May 5 16:16 ispconfig_mailsize
drwx------ 5 root root 4.0K May 5 16:16 .Junk
-rw-r----- 1 root root 1.9K May 5 16:16 maildirsize
drwx------ 2 root root 2.1M May 5 16:17 new
drwx------ 6 root root 4.0K May 5 16:16 .Sent
drwx------ 2 root root 4.0K May 5 16:17 tmp
drwx------ 5 root root 4.0K May 5 16:16 .Trash
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche #
你可以看到我在那里放了一个dovecot-acl文件,这是它的内容:
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # cat dovecot-acl
[email protected] lr
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche #
现在配置
这里我为lmtp和imap启用了acl插件
mail_plugins = " quota acl"
protocol lmtp {
mail_plugins = " quota acl sieve quota"
}
protocol lda {
mail_plugins = " quota acl sieve"
}
protocol imap {
mail_plugins = " quota acl imap_quota imap_acl"
}
这是我的用户数据库的配置方式
userdb {
args = uid=vmail gid=vmail home=/var/vmail/%d/%n/
driver = static
}
这里我指定 acl 应该使用 vfile (dovecot-acl 文件)
plugin {
acl = vfile
[...]
}
在这里我尝试了一个名为partage的共享命名空间,我不确定我在这里所做的是否正确:
namespace partage {
location = maildir:%%h:INDEX=~/%%u
prefix = shared.%%u.
separator = .
type = shared
}
位置好吗?索引好吗(我不知道那是为了什么)
最后,这里是 mail_location 的配置方式。
mail_location = Maildir:~/
完整的配置文件
在这个贴中可以看到
错误
日志中没有错误,除非我没有所需的行为。
期望的行为是:
我得到的行为是:
这是我所做的:
如果我不更改点,它们将显示为 dovecot 的子文件夹分隔符(Maildir++ 规范?)
如果您这样做,那么 [email protected] 可以使用 [email protected] 邮箱做任何他想做的事情。我们不想要这个。我们希望他只阅读邮件,而不是删除它。为此,他需要两个权限:阅读课程和列表,因为他需要列出电子邮件以便选择他想要阅读的电子邮件。如果他没有列出权限,则 MUA 在尝试列出收件箱中的所有消息时会出错。
我们通过在我们想要共享的邮箱中添加一个 dovecot-acl 文件来做到这一点:
这表示用户 [email protected] 具有“l”权限(列表)和“r”权限(阅读)。
您可以使用 acl 工具确保其设置符合预期:
您可以在我的 wiki 页面上阅读更多内容