Как предоставить общий доступ к папкам в dovecot?

Я перехожу с курьера. Миграция пока работает хорошо, я могу получить доступ к своим maildirs с помощью roundcube, с полностью функциональными фильтрами квот и сита. Теперь мне нужно включить общий доступ к maildir, и я не могу понять, как правильно настроить dovecot, поскольку мои настройки немного отличаются.

Сначала настройка

Виртуальных пользователей. Почтовые каталоги находятся в /var/vmail/domain.tld/username/. Подкаталог Maildir отсутствует, Maildir размещается непосредственно в домашнем каталоге. Итак, у нас есть: home = maildir. В конфигурации он переводится как:

userdb {
 args = uid=vmail gid=vmail home=/var/vmail/%d/%n/
 driver = static
}
mail_location = Maildir:~/

Maildir для a.chaouche выглядит так:

root@messagerie[10.10.10.20] /var/vmail/domain.tld/a.chaouche # lsa
total 1.9M
drwx------ 26 vmail vmail 4.0K May  8 11:33 .
drwxr-xr-x  5 vmail vmail 4.0K Apr  7 14:31 ..
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .Coupures Streaming
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .Coupures Streaming.JILFM_ZIK_WR
drwxr-xr-x  2 vmail vmail 4.0K Jun 15  2015 courierimaphieracl
drwx------  2 vmail vmail 4.0K Mar 24 16:05 courierimapkeywords
-rw-r--r--  1 vmail vmail  342 Apr 25 17:43 courierimapsubscribed
-rw-r--r--  1 vmail vmail 460K Apr 25 17:47 courierimapuiddb
drwx------  2 vmail vmail 728K Apr 27 18:24 cur
-rw-------  1 vmail vmail    0 May  8 11:33 dovecot-acl-list
-rw-------  1 vmail vmail  73K Apr 27 14:57 dovecot.index
-rw-------  1 vmail vmail  32K May  8 10:52 dovecot.index.cache
-rw-------  1 vmail vmail 8.5K May  4 10:21 dovecot.index.log
-rw-------  1 vmail vmail   31 Apr 27 15:12 dovecot-keywords
-rw-------  1 vmail vmail   96 Apr 27 10:06 dovecot.mailbox.log
lrwxrwxrwx  1 vmail vmail   21 Apr 27 16:19 .dovecot.sieve -> sieve/roundcube.sieve
-rw-------  1 vmail vmail  197 Apr 27 18:23 .dovecot.svbin
-rw-------  1 vmail vmail 466K Apr 27 18:24 dovecot-uidlist
drwx------  6 vmail vmail 4.0K Apr 27 10:10 .Drafts
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .Flux audio
-rw-rw----  1 vmail vmail  136 Mar 27 14:32 ispconfig_mailsize
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .Je dois repondre
drwx------  6 vmail vmail 4.0K Apr 27 15:17 .Junk
-rw-------  1 vmail vmail   27 May  5 14:16 maildirsize
drwx------  2 vmail vmail 4.0K Apr 27 18:24 new
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.Imrpimantes
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.Kaspersky
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.Netia
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.R&AOk-seau
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.Streaming
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.SYSTEM
drwx------  6 vmail vmail 4.0K Apr 27 10:09 .notifs.Webradios
drwx------  6 vmail vmail 4.0K Apr 27 18:24 .PRTG
drwx------  6 vmail vmail 4.0K Apr 27 15:17 .Sent
drwx------  3 vmail vmail 4.0K Apr 27 18:22 sieve
-rw-------  1 vmail vmail  234 Apr 27 10:08 subscriptions
drwx------  6 vmail vmail 4.0K Apr 27 18:24 .TEST
-rw-r--r--  1 vmail vmail    0 Apr  5 15:29 testfile
drwx------  2 vmail vmail 4.0K May  4 10:21 tmp
drwx------  6 vmail vmail 4.0K Apr 27 18:24 .Trash
root@messagerie[10.10.10.20] /var/vmail/algerian-radio.dz/a.chaouche # 

Вы можете сказать, что я перехожу с курьера, потому что файлы курьера все еще там, в дополнение к файлам dovecot.

.a.chaouche@domain.tld хочет получить доступ к папке, которая принадлежит a.chaouche @ резервное копирование .domain.tld другому виртуальному пользователю, который находится в другом (виртуальном) домене (все еще на том же компьютере)

root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # lsa
total 4.7M
drwx------ 15 root root  4.0K May  8 11:12 .
drwxr-xr-x  3 root root  4.0K May  5 16:16 ..
drwx------  6 root root  4.0K May  5 16:16 .Archive
drwx------  6 root root  4.0K May  5 16:16 .Archive.Coupures Streaming
drwx------  6 root root  4.0K May  5 16:16 .Archive.Flux audio
drwx------  6 root root  4.0K May  5 16:16 .Archive.notifs
drwx------  6 root root  4.0K May  5 16:16 .Archive.PRTG
-rw-r--r--  1 root root    80 May  5 16:16 courierimapacl
drwx------  2 root root  4.0K May  5 16:16 courierimapkeywords
-rw-r--r--  1 root root 1015K May  5 16:16 courierimapuiddb
drwx------  2 root root  1.6M May  5 16:17 cur
-rw-r--r--  1 root root    37 May  8 11:12 dovecot-acl
-rw-r--r--  1 root root    36 May  8 11:12 dovecot-acl~
drwx------  5 root root  4.0K May  5 16:16 .Drafts
-rw-r-----  1 root root   254 May  5 16:16 ispconfig_mailsize
drwx------  5 root root  4.0K May  5 16:16 .Junk
-rw-r-----  1 root root  1.9K May  5 16:16 maildirsize
drwx------  2 root root  2.1M May  5 16:17 new
drwx------  6 root root  4.0K May  5 16:16 .Sent
drwx------  2 root root  4.0K May  5 16:17 tmp
drwx------  5 root root  4.0K May  5 16:16 .Trash
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # 

Как видите, я поместил dovecot-acl , вот его содержимое:

root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # cat dovecot-acl
user=a.chaouche@algerian-radio.dz lr
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # 

Теперь конфигурация

Здесь я включил плагин acl для lmtp и imap

mail_plugins = " quota acl"

protocol lmtp {
  mail_plugins = " quota acl sieve quota"
}
protocol lda {
  mail_plugins = " quota acl sieve"
}
protocol imap {
  mail_plugins = " quota acl imap_quota imap_acl"
}

Вот как настроена моя база данных пользователей

userdb {
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n/
  driver = static
}

Здесь я указываю, что acl должен быть включен с vfile (файл dovecot-acl)

plugin {
  acl = vfile
  [...]
}

Здесь я попытался использовать общее пространство имен под названием partage , Я не уверен, что то, что я здесь сделал, было правильным :

namespace partage {
  location = maildir:%%h:INDEX=~/%%u
  prefix = shared.%%u.
  separator = .
  type = shared
}

- это расположение в порядке? - это ИНДЕКС (я не знаю, для чего)

Наконец, вот как настраивается mail_location.

 mail_location = Maildir:~/

Полный файл конфигурации

можно увидеть в этой вставке

Ошибки

В журналах ошибок нет, за исключением того, что у меня нет желаемого поведения.

Желаемое поведение:

enter image description here

Вместо этого я получаю следующее поведение:

enter image description here

0
задан 8 May 2016 в 17:23
1 ответ

Вот что я сделал :

$ cd /var/vmail/algerian-radio.dz/a.chaouche/
$ ln -s /var/vmail/backup.algerian-radio.dz/a.chaouche/ .shared.a_chaouche@backup_algerian-radio_dz  <---- change "." to "_"

Если бы я не изменил точки, они бы отображались как разделители вложенных папок на dovecot (спецификации Maildir ++?)

Если вы сделаете это, то (скрытый) может делать все, что хочет, с (скрытым) почтовым ящиком. Мы этого не хотим. Мы хотим, чтобы он только читал почту, а не удалял ее. Для этого ему нужны два разрешения: чтение курса и листинг, потому что ему нужно перечислить электронные письма, чтобы выбрать, какое из них он хочет прочитать. Если у него нет разрешения на листинг, MUA получит сообщение об ошибке, когда попытается перечислить все сообщения в папке «Входящие».

Мы делаем это, добавляя файл dovecot-acl в почтовый ящик, которым хотим поделиться:

root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche # cat dovecot-acl
user=a.chaouche@algerian-radio.dz lr
root@messagerie[10.10.10.20] /var/vmail/backup.algerian-radio.dz/a.chaouche #

Это говорит о том, что пользователь (скрытый) имеет право «l» (перечисление) и право «r» (чтение).

Вы можете убедиться, что он настроен должным образом с помощью инструмента acl:

root@messagerie[10.10.10.20] ~ # doveadm acl get  -u a.chaouche@algerian-radio.dz INBOX.shared.a_chaouche@backup_algerian-radio_dz
ID                                Global Rights
user=a.chaouche@algerian-radio.dz        lookup read
root@messagerie[10.10.10.20] ~ #
  1. Нет необходимости для таблиц SQL
  2. Нет необходимости в сопоставлении словарей
  3. Нет необходимости в командах doveadm acl

Вы можете узнать больше на моей странице вики

0
ответ дан 24 November 2019 в 06:35

Теги

Похожие вопросы