Lukas Haase
2011-Feb-09 11:51 UTC
[Dovecot] Questions about dovecot-shared in 1.2 and inherit group membership from parent mailbox
Hi, I read the Wiki about dovecot-shared a few times but it is not 100% clear to me (at least for 1.2). First, if I want shared keywords I *must* have a dovecot-shared. In this case, the permissions are not taken any longer from the parent folder (what is exactly this parent folder?) but from the dovecot-shared file. So in some sense dovecot-shared is always required (since everyone would like to share keywords). True? Second, is there only *one* dovecot-shared per namespace or per mailbox *under* a specific namespace? Or an arbitrary number (where the "last" is taken)? Where does dovecot-shared need to be placed? For example, if the location of the namespace points to /var/mail/shared and I have two mailboxes "group1" and "group2" inside. Does the dovecot-shared need to reside in /var/mail/shared or /var/mail/shared/group1 and /var/mail/shared/group2 (with LAYOUT=fs)? Is it possible? Third (and main) question: In /var/mail/shared I want to have a mailbox for each group. Each user is member of his respective groups (in terms of UNIX permissions *and* ACLs). The mailboxes are owned by their respective groups and if a user creates a subfolder inside it should surely have the same group assigned as the parent mailbox (not the namespace!). namespace public { separator = . prefix = Shared. location = maildir:/var/mail/shared:INDEX=~/Maildir/shared:LAYOUT=fs subscriptions = no } mail:~# ls -l -R /var/mail/shared/ /var/mail/shared/: total 12 drwxrwx--- 5 root group1 4096 Feb 9 11:53 Group1 drwxrwx--- 5 root group2 4096 Feb 9 12:27 Group2 -rw-r--r-- 1 root root 23 Feb 9 11:52 dovecot-acl -rw-rw-r-- 1 root root 0 Dec 15 2009 dovecot-shared /var/mail/shared/Group1: total 16 drwxrwx--- 2 root group1 4096 Feb 8 10:35 cur -rw-r--r-- 1 root group1 28 Feb 9 11:52 dovecot-acl -rw-rw-r-- 1 root group1 0 Dec 15 2009 dovecot-shared drwxrwx--- 2 root group1 4096 Dec 15 2009 new drwxrwx--- 2 root group1 4096 Feb 8 10:34 tmp /var/mail/shared/Group1/cur: total 0 /var/mail/shared/Group1/new: total 0 /var/mail/shared/Group1/tmp: total 0 /var/mail/shared/Group2: total 16 drwxrwx--- 2 root group2 4096 Feb 8 10:35 cur -rw-r--r-- 1 root group2 27 Feb 9 11:52 dovecot-acl -rw-rwS--- 1 root group2 0 Dec 15 2009 dovecot-shared drwxrwx--- 2 root group2 4096 Dec 15 2009 new drwxrwx--- 2 root group2 4096 Feb 8 10:34 tmp /var/mail/shared/Group2/cur: total 0 /var/mail/shared/Group2/new: total 0 /var/mail/shared/Group2/tmp: total 0 Again: *Inside* /var/mail/shared I want to create mailboxes for each group (Group1, Group2, ...). This is done only by the administrator. Therefore /var/mail/shared is owned by root. Each Group1, Group2, ... in turn is owned by group1, group2, ... I tried all combinations using dovecot-shared which came into my mind such that a subfolder of Group1 is owned by group1. However, either 1.) the subfolder is owned by the primary group of the creating user (group "users") or 2.) the group of /var/mail/shared/dovecot-shared or 3.) creation of the subfolder fails with dovecot: IMAP(user1): chown(/var/mail/shared/Group2/Test1, -1, 0(root)) failed: Operation not permitted (egid=100(users), group based on /var/mail/shared/dovecot-shared) dovecot: IMAP(user1): mkdir(/var/mail/shared/Group2/Test1/cur) failed: Operation not permitted Is this just not possible or do I get something wrong here? Regards, Luke
Timo Sirainen
2011-Feb-09 22:55 UTC
[Dovecot] Questions about dovecot-shared in 1.2 and inherit group membership from parent mailbox
On Wed, 2011-02-09 at 12:51 +0100, Lukas Haase wrote:> First, if I want shared keywords I *must* have a dovecot-shared. In this > case, the permissions are not taken any longer from the parent folder > (what is exactly this parent folder?)If you have ~/Maildir/.foo/, then the permissions are based on the .foo directory when ~/Maildir/.foo/dovecot-share doesn't exist.> but from the dovecot-shared file. > So in some sense dovecot-shared is always required (since everyone would > like to share keywords). True?dovecot-shared is needed only if you want private \Seen flags.> Second, is there only *one* dovecot-shared per namespace or per mailbox > *under* a specific namespace? Or an arbitrary number (where the "last" > is taken)? Where does dovecot-shared need to be placed?For each mailbox.> For example, if the location of the namespace points to /var/mail/shared > and I have two mailboxes "group1" and "group2" inside. > Does the dovecot-shared need to reside in /var/mail/shared or > /var/mail/shared/group1 and /var/mail/shared/group2 (with LAYOUT=fs)? Is > it possible?group1 & group2> Third (and main) question: In /var/mail/shared I want to have a mailbox > for each group. Each user is member of his respective groups (in terms > of UNIX permissions *and* ACLs). > The mailboxes are owned by their respective groups and if a user creates > a subfolder inside it should surely have the same group assigned as the > parent mailbox (not the namespace!).Well, now you're going into something that's a new feature :) But you can probably do: /var/mail/shared = root:root, 02770 /var/mail/shared/group1 = root:group1, 02770 Now filesystem should preserve group1 and Dovecot should preserve 02770 permissions.