<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>