Hi,
I think I have configured everything correctly but for some reason I can’t get a list of the shared mailboxes to show up.
When I run:
doveadm acl debug -u m.markov Shared/d.marteva/INBOX
doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_backend_rescan (this is usually intentional, so just ignore this message) doveadm(m.markov): Debug: Added userdb setting: plugin/=yes doveadm(m.markov): Debug: Effective uid=1000, gid=1000, home=/home/vmail/domain.com/m.markov doveadm(m.markov): Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:~/Maildir doveadm(m.markov): Debug: maildir++: root=/home/vmail/domain.com/m.markov/Maildir, index=, indexpvt=, control=, inbox=/home/vmail/domain.com/m.markov/Maildir, alt= doveadm(m.markov): Debug: acl: initializing backend with data: vfile doveadm(m.markov): Debug: acl: acl username = m.markov@domain.com doveadm(m.markov): Debug: acl: owner = 1 doveadm(m.markov): Debug: acl vfile: Global ACLs disabled [ Read 8 lines ] doveadm(m.markov): Debug: Namespace : type=public, prefix=Public/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=yes location=maildir:/home/vmail/Public:INDEXPVT=~/Maildir/Publics doveadm(m.markov): Debug: maildir++: root=/home/vmail/Public, index=, indexpvt=/home/vmail/domain.com/m.markov/Maildir/Public, control=, inbox=, alt=ext ^T To Spell doveadm(m.markov): Debug: acl: initializing backend with data: vfile doveadm(m.markov): Debug: acl: acl username = m.markov@domain.com doveadm(m.markov): Debug: acl: owner = 0 doveadm(m.markov): Debug: acl vfile: Global ACLs disabled doveadm(m.markov): Debug: Namespace : type=shared, prefix=Shared/%u/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=yes location=maildir:/home/vmail/domain.com/%u/Maildir:INDEXPVT=~/Maildir/shared/%u doveadm(m.markov): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= doveadm(m.markov): Debug: acl: initializing backend with data: vfile doveadm(m.markov): Debug: acl: acl username = m.markov@domain.com doveadm(m.markov): Debug: acl: owner = 0 doveadm(m.markov): Debug: acl vfile: Global ACLs disabled doveadm(m.markov): Debug: maildir++: root=/home/vmail/domain.com/d.marteva/Maildir, index=, indexpvt=/home/vmail//d.marteva/Maildir/shared/d.marteva, control=, inbox=/home/vmail/domain.com/d.marteva/Maildir, alt= doveadm(m.markov): Debug: acl: initializing backend with data: vfile doveadm(m.markov): Debug: acl: acl username = d.marteva doveadm(m.markov): Debug: acl: owner = 1 doveadm(m.markov): Debug: acl vfile: Global ACLs disabled doveadm(m.markov): Debug: maildir++: root=/home/vmail/domain.com/d.marteva/Maildir, index=, indexpvt=/home/vmail/domain.com/m.markov/Maildir/shared/d.marteva, control=, inbox=/home/vmail/domain.com/d.marteva/Maildir, alt= doveadm(m.markov): Debug: acl: initializing backend with data: vfile doveadm(m.markov): Debug: acl: acl username = m.markov@domain.com doveadm(m.markov): Debug: acl: owner = 0 doveadm(m.markov): Debug: acl vfile: Global ACLs disabled doveadm(m.markov): Info: Mailbox 'INBOX' is in namespace 'Shared/d.marteva/' doveadm(m.markov): Info: Mailbox path: /home/vmail/domain.com/d.marteva/Maildir doveadm(m.markov): Info: Per-user private flags in mailbox: \Seen doveadm(m.markov): Debug: acl vfile: reading file /home/vmail/domain.com/d.marteva/Maildir/dovecot-acl doveadm(m.markov): Info: User m.markov@domain.com has rights: lookup read write create doveadm(m.markov): Info: Mailbox found from dovecot-acl-list doveadm(m.markov): Info: User d.marteva found from ACL shared dict doveadm(m.markov): Info: Mailbox Shared/d.marteva/INBOX is visible in LIST
Here is how I have defined the namespace:
namespace { type = shared separator = / prefix = Shared/%%u/ # a) Per-user seen flags. Maildir indexes are shared. (INDEXPVT requires v2.2+) location = maildir:/home/vmail/domain.com/%%u/Maildir:INDEXPVT=~/Maildir/shared/%%u # b) Per-user seen flags. Maildir indexes are not shared. If users have direct filesystem level access to their mails, this is a safer option: #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u:INDEXPVT=~/Maildir/shared/%%u subscriptions = yes # list = children list=yes }
And here is the ACL config:
plugin { #acl = vfile:/etc/dovecot/global-acls:cache_secs=300 acl = vfile }
# To let users LIST mailboxes shared by other users, Dovecot needs a # shared mailbox dictionary. For example: plugin { #acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes acl_shared_dict = file:/home/vmail/domain.com/shared-mailboxes2 #acl_lookup_dict = file:/home/vmail/domain.com/shared-mailboxes }
Any suggestions?