<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I'm not sure about that configuration. <br>
</p>
<p>I have seen huge index cache files for users with lots of mail,
putting those in memory may be a risk.</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 25/03/2022 14:56, doug wrote:<br>
</div>
<blockquote type="cite"
cite="mid:53bb9159-4b0d-d9f1-2427-668bdd221f1d@yahoo.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<font size="2">Hi,<br>
</font><br>
<font size="2"><font size="2"><font size="2">Environment: Dovecot
2.3.18 running on CentOS 7, mdbox, LDAP users<br>
<br>
</font></font>I'm in the process of moving my mailboxes to NFS
and moving with lock and index files in temp storage following
instructions from <a class="moz-txt-link-freetext"
href="https://doc.dovecot.org/configuration_manual/nfs"
moz-do-not-send="true">https://doc.dovecot.org/configuration_manual/nfs</a>.
<br>
<br>
I set mail_location as:<br>
</font>
<blockquote><font face="monospace">mail_location =
mdbox:/mailstore/%u/mail:VOLATILEDIR=/dev/shm/dovecot/%u:LISTINDEX=/dev/shm/dovecot/%u/dovecot.list.index</font><br>
</blockquote>
<font size="2"><font size="2"> </font>What I discovered is
/dev/shm/dovecot is created by the initial user who accesses
their mail from a client, and with permissions 700. This
prevents subsequent users from creating their own index and lock
files.<br>
</font>
<blockquote>
<pre class="moz-quote-pre" wrap=""># ls -l /dev/shm/dovecot
total 0
drwx------ 2 mary users 60 Mar 25 10:00 mary
</pre>
</blockquote>
<font size="2"> Sample error message from maillog during mail
delivery and from a dsync script.</font>
<blockquote>
<pre class="moz-quote-pre" wrap="">Mar 25 10:37:15 mailsrv1 dovecot: imap(doug)<19284><WKcX5gvbRe7AqFhA>: Error: mkdir(/dev/shm/dovecot/doug) failed: Permission denied (euid=1002(doug) egid=100(users) missing +x perm: /dev/shm/dovecot, dir owned by 97:100 mode=0700)
dsync(test): Error: mkdir(/dev/shm/dovecot/test) failed: Permission denied (euid=2003(test) egid=100(users) missing +x perm: /dev/shm/dovecot, dir owned by 97:100 mode=0700)
</pre>
</blockquote>
<font size="2">I couldn't locate documentation or discussions on
how to set the ownership or permissions for /dev/shm/dovecot in
the Dovecot configuration files. <br>
<br>
As a hack, I added this to /usr/libexec/dovecot/prestartscript.
</font><font size="4"><br>
</font>
<blockquote><font face="monospace">! [[ -d /dev/shm/dovecot ]]
&& mkdir /dev/shm/dovecot</font><br>
<font face="monospace">chown dovecot:users /dev/shm/dovecot</font><br>
<font face="monospace">chmod 770 /dev/shm/dovecot</font></blockquote>
<font size="2">This solved the problem, but left me wondering if I
missed something obvious or if I am setting myself up for a
problem later on, like with a Dovecot version upgrade. </font><font
size="2"><font size="2">I could run these commands at bootup out
of rc.local or a systemd script rather than customizing a
Dovecot provided script. <br>
<br>
Is there a appropriate way of doing this that I missed?</font><font
size="4"><br>
</font></font><font size="2"><br>
TIA,<br>
Doug<br>
</font> </blockquote>
</body>
</html>