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 
<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 <[email protected]> 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 <[email protected]>
> Date: 28/08/2018 04:27 (GMT+02:00)
> To: Aki Tuomi <[email protected]>
> Cc: [email protected]
> 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 <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> acl_shared_dict file & folder must be readwritable by user performing the 
>> sharing as stated in wiki.
>> 
>> https://wiki.dovecot.org/SharedMailboxes/Shared 
>> <https://wiki.dovecot.org/SharedMailboxes/Shared>
>> ---
>> Aki Tuomi
>> Dovecot oy
>> 
>> -------- Original message --------
>> From: Jason Perry <[email protected] <mailto:[email protected]>>
>> Date: 27/08/2018 17:01 (GMT+02:00)
>> To: [email protected] <mailto:[email protected]>
>> 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
>>   acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db 
>> <file:///var/lib/dovecot/db/shared-mailboxes.db>
>> }
>> 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
>> }
> 

Reply via email to