Email
將 ACL 應用到 Dovecot 公共命名空間
我想通過 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,您應該一切順利。
您可能還會發現以下文件很有用:
祝你好運!