Я хотел бы предоставить доступ к некоторым спискам рассылки через набор общедоступных почтовых ящиков только для чтения в 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.*
или что-то в этом роде), это было бы круто. Получение задокументированного поведения для работы списков управления доступом по умолчанию было бы шагом в правильном направлении.
Я вижу, что это старый пост, поэтому я полагаю, что вы уже поняли это. В противном случае, я надеюсь, вы найдете следующее полезным.
Убедитесь, что вы определили частный пространство имен в дополнение к общедоступному. Что-то вроде:
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
- как может показаться, - тогда я ожидаю, что для настройки глобальных списков контроля доступа более уместно следующее:
plugin {
acl = vfile:/usr/local/etc/dovecot/acls:cache_secs=300
}
Перезапустите голубятню, и все будет в порядке.
Вы также можете найти полезную следующую документацию:
Удачи!