Назад | Перейти на главную страницу

Публичное пространство имен dovecot, видимое только некоторым пользователям

У меня есть 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 за помощь в этом.)