Email

將 ACL 應用到 Dovecot 公共命名空間

  • August 16, 2011

我想通過 Dovecot 中的一組公共只讀郵箱提供對一些郵件列表的訪問權限。我在 dovecot (dovecot-2.0.9) 配置中定義了一個公共命名空間,如下所示:

namespace {
 type = public
 separator = .
 prefix = news.
 location = maildir:/var/spool/news
 subscriptions = no  
}

我想將此命名空間中的所有郵箱設為只讀。我對 ACL 外掛進行了以下配置:

plugin {
 acl = vfile:/etc/dovecot/acls:cache_secs=300
}

仔細閱讀文件後,似乎我有一個郵件文件夾 /var/spool/news/.foo.bar,我可以將以下內容放入 /var/spool/news/.foo.bar/dovecot-acl

anyone rl

但這沒有任何影響。我也嘗試創建一個 /usr/local/etc/dovecot/acls/news.foo.bar具有相同內容的文件,但這也沒有做任何事情。我打開了郵件調試:

mail_debug = yes

但日誌不會產生任何與 ACL 處理相關的內容。我很想知道是否有人使它正常工作,如果可以,您是否可以提供一些配置範例。

此外,如果有任何不涉及每個郵箱配置的方法(例如,將 ACL 應用到news.*或其他東西的能力),那將是非常棒的。讓預設 ACL 工作的記錄行為將是朝著正確方向邁出的一步。

我看到這是一篇舊文章,所以我想你現在已經弄清楚了。否則,我希望以下內容對您有所幫助。

確保除了公共命名空間之外,您還定義了一個**私有命名空間。**類似於以下內容:

namespace {
 type = private
 separator = . # don't mix separators
 prefix =
 #location defaults to mail_location.
 inbox = yes
}

此時mail_location是一個必需參數,給它一個適合您環境的值,即:

mail_location = maildir:~/Maildir

dovecot.conf在(或 etc/conf.d 中的其他配置之一)中還需要以下內容來啟用 acl 外掛:

mail_plugins = acl
protocol imap {
 mail_plugins = $mail_plugins imap_acl
} 

如果您從原始碼安裝了 dovecot,預設前綴為/usr/local- 似乎是這種情況 - 那麼我希望以下內容更適合配置全域 ACL:

plugin {
 acl = vfile:/usr/local/etc/dovecot/acls:cache_secs=300
}

重新啟動 dovecot,您應該一切順利。

您可能還會發現以下文件很有用:

  1. http://wiki2.dovecot.org/SharedMailboxes/Public
  2. http://wiki2.dovecot.org/ACL

祝你好運!

引用自:https://serverfault.com/questions/238471