Hi Aki, they are.

3. The permissions for the file are:
root@dal-notify-01 Maildir]# ls -la /var/lib/dovecot/db/shared-mailboxes.db
-rw-rw-r--. 1 operations sharedusers 197 Aug 26 20:33 /var/lib/dovecot/db/shared-mailboxes.db
4. Users I'm testing with are part of the sharedusers group in /etc/group

The dir /var/lib/dovecot/db has this for permissions:
drwsrwsrwx.  2 root    sharedusers   33 Aug 27 21:12 db

the user operations is a member of “sharedusers” in /etc/group.  I even chmod’ed the permissions after to rw for global and I get the same error/result.

The file does appear to get written to.  For example, lets say user u2.name creates a folder called “starbucks” and uses the IMAP commands to share it out to user operations.  It seems to write to the acl_shared_dict file in /var/lib/dovecot/db/shared-mailboxes.db with an entry like
shared/shared-boxes/user/u2.name/operations
1

And it writes to the ~/Maildir/.starbucks/dovecot-acl file for u2.user with an entry like:
user=operations lrw

So it appears to be working.  However, if I log into Thunderbird with the user operations account and go to subscribe, I do not see “starbucks” in the list of available folders.  And I still get the nfs_flush_chown error.

Is there anything else I can be doing with the file/dir permissions?

Thanks.


On Aug 27, 2018, at 10:50 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:

acl_shared_dict file & folder must be readwritable by user performing the sharing as stated in wiki.

---
Aki Tuomi
Dovecot oy

-------- Original message --------
From: Jason Perry <jason.perry@dtainc.us>
Date: 27/08/2018 17:01 (GMT+02:00)
Subject: Issue sharing folders with Thunderbird

Trying to share folder "JasonAlerts" within mailbox operations to user u1.name

 

Issues:
1. Shared mailboxes do not appear under subscriptions in Thunderbird for another user
2. When I try to set permissions via IMAP commands I get in /var/log/dovecot.log
Aug 26 20:33:24 imap(operations): Error: nfs_flush_chown_uid: chown(/var/lib/dovecot/db) failed: Permission denied
3. The permissions for the file are:
root@dal-notify-01 Maildir]# ls -la /var/lib/dovecot/db/shared-mailboxes.db
-rw-rw-r--. 1 operations sharedusers 197 Aug 26 20:33 /var/lib/dovecot/db/shared-mailboxes.db
4. Users I'm testing with are part of the sharedusers group in /etc/group
5. IMAP commands DO write to the file:
[root@dal-notify-01 Maildir]# cat /var/lib/dovecot/db/shared-mailboxes.db
shared/shared-boxes/user/u1.name/u2.name
1
shared/shared-boxes/user/operations/u2.name
1
shared/shared-boxes/user/u1.name/operations
1
shared/shared-boxes/user/u1.name/operations
1
6. It will also write to the user's /home/operations/Maildir/.JasonAlert/dovecot-acl file
user=u1.name ilrw

 

However if I got into Thunderbird and try to subscribe, none of the shared folders are listed.  Can anyone help??  Thanks!!

 

Dovecot version = 2.2.10

 

dovecot -n
[root@server]# dovecot -n
# 2.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 3.10.0-693.17.1.el7.x86_64 x86_64 CentOS Linux release 7.4.1708 (Core)
first_valid_uid = 100
listen = *
log_path = /var/log/dovecot.log
mail_debug = yes
mail_location = maildir:~/Maildir
mail_plugins = acl
mail_privileged_group = mail
mbox_write_locks = fcntl
namespace Private {
  hidden = no
  inbox = no
  list = no
  location =
  prefix = Private/
  separator = /
  type = private
}
namespace Public {
  hidden = no
  inbox = no
  list = no
  location = maildir:/var/mail/public
  prefix = Public/
  separator = /
  subscriptions = yes
  type = public
}
namespace Shared {
  hidden = no
  inbox = no
  list = yes
  location = maildir:/var/mail/%u:INDEXPVT=~/Maildir/%u
  prefix = shared/%u/
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  driver = pam
}
passdb {
  driver = pam
}
plugin {
  acl = vfile
}
protocols = imap
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
syslog_facility = local2
userdb {
  driver = passwd
}
userdb {
  driver = passwd
}
protocol imap {
  mail_plugins = acl imap_acl
}