У меня есть IMAP-сервер dovecot (версия 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-клиенте. Как я могу убедиться, что другие пользователи не могут заметить, что это пространство имен существует?
Один из способов добиться этого - отключить пространство имен по умолчанию:
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
в файле. (Спасибо Штеффену Кайзеру за список рассылки dovecot за помощь в этом.)