Я перехожу с курьера. Миграция пока работает хорошо, я могу получить доступ к своим 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.
.notifs - это папка, содержащая множество подпапок, таких как .notifs.Webradios, .notifs.Kaspersky и т. д.
поэтому 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 #
Вы видите, я поставил голубятня-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
[...]
}
Здесь я попытался использовать общее пространство имен под названием часть, Я не уверен, что то, что я здесь сделал, было правильным :
namespace partage {
location = maildir:%%h:INDEX=~/%%u
prefix = shared.%%u.
separator = .
type = shared
}
расположение в порядке? Индекс в порядке (я не знаю, для чего это)
Наконец, вот как настраивается mail_location.
mail_location = Maildir:~/
можно увидеть в этом вставить
Никаких ошибок в журналах, за исключением того, что у меня нет желаемого поведения.
Желаемое поведение:
Вместо этого я получаю следующее:
Вот что я сделал:
$ 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 ++?)
Если вы сделаете это, то a.chaouche@algerian-radio.dz сможет делать все, что захочет, с почтовым ящиком a.chaouche@backup.algerian-radio.dz. Мы этого не хотим. Мы хотим, чтобы он только читал почту, а не удалял ее. Для этого ему нужны два разрешения: чтение курса и листинг, потому что ему нужно перечислить электронные письма, чтобы выбрать, какое из них он хочет прочитать. Если у него нет разрешения на листинг, 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 #
Это говорит о том, что пользователь a.chaouche@algerian-radio.dz имеет право «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] ~ #
Вы можете прочитать больше на моя страница вики