passdb { driver = pam } passdb { driver = pam name = pam } Are those two passdb blocks intentional?
One of them is missing the name parameter.
doh. first removed.
Aug 3 06:49:23 psg auth: in openpam_parse_chain(): /etc/pam.d/dovecot(1): missing or invalid facility Aug 3 06:49:23 psg dovecot: auth-worker(53801): Error: pam(smb,2604:6000:1103:81a4:a8ec:3b9a:a3d4:d74f,<0+2Ax9NV6vAmBGAAEQOBpKjsO5qj1NdP>): pam_start() failed: system error Aug 3 06:49:23 psg pure-ftpd: (?@80.82.78.85) [WARNING] Authentication failed for user [vaninst] Aug 3 06:49:28 psg dovecot: auth: Warning: Timeout leak: 0x419970 (auth-request-handler.c:550) Aug 3 06:49:28 psg dovecot: imap-login: Error: Error sending request to auth server: Broken pipe Aug 3 06:49:40 psg auth: in openpam_parse_chain(): /etc/pam.d/dovecot(1): missing or invalid facility Aug 3 06:49:40 psg dovecot: auth-worker(53801): Error: pam(pokui,160.242.151.213,<f/+EyNNV/dig8pfV>): pam_start() failed: system error Aug 3 06:49:40 psg auth: in openpam_parse_chain(): /etc/pam.d/dovecot(1): missing or invalid facility Aug 3 06:49:40 psg dovecot: auth-worker(53801): Error: pam(ksemat,2a00:23c4:6901:c100:6d2a:d2cb:defd:474f,<YEH1x9NVaMgqACPEaQHBAG0q0sve/UdP>): pam_start() failed: system error