[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