Applying ACLs to a Dovecot public namespace

Solution 1:

I see this is an old post, so I imagine you've got this figured out by now. Otherwise, I hope you find the following helpful.

Make sure you've defined a private namespace, in addition to the public one. Something along the lines of:

namespace {
  type = private
  separator = . # don't mix separators
  prefix =
  #location defaults to mail_location.
  inbox = yes
}

At this point mail_location is a required parameter, give it a value appropriate for your environment, i.e.:

mail_location = maildir:~/Maildir

The following is also required in dovecot.conf (or in one of the additional configs in etc/conf.d) to enable the acl plugin:

mail_plugins = acl
protocol imap {
  mail_plugins = $mail_plugins imap_acl
} 

If you installed dovecot from source with the default prefix of /usr/local -- as would seem to be the case -- then I expect the following is more appropriate for configuring Global ACLs:

plugin {
  acl = vfile:/usr/local/etc/dovecot/acls:cache_secs=300
}

Restart dovecot and you should be good to go.

You may also find the following documentation useful:

  1. http://wiki2.dovecot.org/SharedMailboxes/Public
  2. http://wiki2.dovecot.org/ACL

Good luck!