[Dovecot] some Maildir files not honoring dovecot-shared

Glenn Leavell glenn at usg.edu
Thu Jan 11 21:38:26 UTC 2007


On Thu, Jan 11, 2007 at 05:07:39PM +0000, Steve James wrote:

> On Wednesday 10 January 2007 06:54, Glenn Leavell wrote:
> > I don't know if the following is related to the above, but I thought I'd
> > include it here just in case.  After setting umask = 0007 in dovecot.conf,
> > dovecot-uidlist, dovecot.index, and dovecot.index.log are not created with
> > the new mask; however, the maildir parent directory, cur, new, tmp, and the
> > maildirfolder file *are* created with the new mask:
> >
> > $ ls -l
> > total 12
> > drwxrwx---   2 glenn    adm          512 Jan 10 01:37 cur/
> > -rw-------   1 glenn    adm           44 Jan 10 01:37 dovecot-uidlist
> > -rw-------   1 glenn    adm          120 Jan 10 01:37 dovecot.index
> > -rw-------   1 glenn    adm           24 Jan 10 01:37 dovecot.index.log
> > -rw-rw----   1 glenn    adm            0 Jan 10 01:37 maildirfolder
> > drwxrwx---   2 glenn    adm          512 Jan 10 01:37 new/
> > drwxrwx---   2 glenn    adm          512 Jan 10 01:37 tmp/
> >
> > I'm experimenting with using the umask setting for shared folders.  In the
> > case of sharing, won't the index files, etc. need to be readable by the
> > sharing group as well?
> 
> I concur: the umask is not honoured when Dovecot creates a new Maildir file. 
> This has been the case at least as far back as v0.99.14.
> 
> Doesn't this completely defeat use of shared folders? For me this bug is a 
> problem because I want to process Maildirs with a cron process running as uid 
> mail, but group write permission is not set on created message files.
> 
> Steve.

You may have seen that I sent an update yesterday:  While I can't get umask
to affect individual message files, those files *do* inherit the
permissions template of a dovecot-shared file in the Maildir parent
directory.  They don't, however, inherit the actual *group* of
dovecot-shared.

A workaround for getting your message files set to the correct group
ownership is to set the group ownership of your Maildir parent directories
and the cur, new, and tmp subdirectories to the value of your shared group
and then turn on the "set group ID" bit (mode 2000 or "chmod g+x") for
those directories.  On many systems, that will cause any file or group
created in those directories to be created with the corresponding group of
its parent.  For example:

$ ls -ld .sharedtest
drwxrws---   5 glenn    shared        512 Jan 10 23:32 .sharedtest/
$ ls -l .sharedtest
total 580
drwxrws---   2 glenn    shared      14848 Jan 10 23:30 cur/
-rw-rw----   1 glenn    shared         50 Jan 10 23:24 dovecot-keywords
-rw-rw----   1 glenn    shared          0 Jan 10 22:21 dovecot-shared
-rw-rw----   1 glenn    shared      11696 Jan 10 23:30 dovecot-uidlist
-rw-rw----   1 glenn    shared       5920 Jan 10 23:30 dovecot.index
-rw-rw----   1 glenn    shared     215040 Jan 10 23:29 dovecot.index.cache
-rw-rw----   1 glenn    shared      30544 Jan 10 23:30 dovecot.index.log
-rw-rw----   1 glenn    shared          0 Jan 10 22:20 maildirfolder
drwxrws---   2 glenn    shared        512 Jan 10 22:20 new/
drwxrws---   2 glenn    shared        512 Jan 10 23:27 tmp/

Glenn


More information about the dovecot mailing list