Hi Aki I see what you are saying, and no I don’t believe so.  I’m using typical /etc/passwd for the user db.  I reviewed https://wiki.dovecot.org/UserDatabase/ExtraFields but I’m not clear on how to actually return system_user userdb attribute.

I also have set mail_user_groups = sharedusers in dovecot.conf and then in /etc/group put all the users with mailboxes into the sharedusers group.  I can see why that wouldn’t work if the above is not set.  Can you point me in the right direction on how to pass that information?

Thanks!

On Aug 28, 2018, at 12:40 AM, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:

Are you returning system_user userdb attribute? Extra groups from /etc/group are not applied without this.

---
Aki Tuomi
Dovecot oy

-------- Original message --------
From: Jason Perry <jason.perry@dtainc.us>
Date: 28/08/2018 04:27 (GMT+02:00)
To: Aki Tuomi <aki.tuomi@dovecot.fi>
Subject: Re: Issue sharing folders with Thunderbird

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
}