[Dovecot] Providing shared folders with multiple backend servers

Sven Hartge sven at svenhartge.de
Mon Jan 9 21:45:12 EET 2012


Timo Sirainen <tss at iki.fi> wrote:
> On 9.1.2012, at 21.31, Sven Hartge wrote:

>> ,----
>> | # User's private mail location
>> | mail_location = mdbox:~/mdbox
>> |
>> | # When creating any namespaces, you must also have a private namespace:
>> | namespace {
>> |   type = private
>> |   separator = .
>> |   prefix = INBOX.
>> |   #location defaults to mail_location.
>> |   inbox = yes
>> | }
>> |
>> | namespace {
>> |   type = public
>> |   separator = .
>> |   prefix = #shared.

> I'd probably just use "Shared." as prefix, since it is visible to
> users. Anyway if you want to use # you need to put the value in
> "quotes" or it's treated as comment.

I have to use "#shared.", because this is what Courier uses.
Unfortunately I have to stick to prefixes and seperators used currently.

>> |   location = imapc:~/imapc-shared

What is the syntax of this location? What does "imapc-shared" do in this
case?

>> |   subscriptions = no

> list = children here

>> | }
>> |
>> | imapc_host = m-st-sh-01.foo.bar
>> | imapc_password = master-user-password
>> | imapc_user = shareduser
>> | imapc_master_user = %u
>> `----
>> 
>> Where do I add "list = children"? In the user-dovecots shared namespace
>> or on the shared-dovecots private namespace?

> Shared-dovecot always has mailboxes (at least INBOX), so list=children would equal list=yes.

OK, seems logical.

>> 
>>> 2. Configure the shared Dovecot:
>> 
>>> You need master passdb that allows all existing users to log in as "shareduser" user. You can probably simply do (not tested):
>> 
>>> passdb {
>>> type = static
>>> args = user=shareduser pass=master-user-password
>>> master = yes
>>> }
>> 
>>> The "shareduser" owns all of the actual shared mailboxes and has the
>>> necessary ACLs set up for individual users. ACLs use the master
>>> username (= the real username in this case) to do the ACL checks.
>> 
>> So this is kind of "backwards", since normally the imapc_master_user would be
>> the static user and imapc_user would be dynamic, right?

> Right. Also in this Dovecot you want a regular namespace without prefix:

> namespace inbox {
>  separator = /
>  list = yes
>  inbox = yes
> }

> You might as well use the proper separator here in case you ever change it for users.

Is this seperator converted to '.' on the frontend? The department
supporting our users will give me hell if anything visible changes in
the layout of the folders for the end user.

Grüße,
Sven.

-- 
Sigmentation fault. Core dumped.



More information about the dovecot mailing list