How does dovecot determine users from /etc/passwd?
We're using dovecot on a help desk ticketing system. The system doesn't perform any cleanup of IMAP mailboxes so we have a regular cronjob doing this:
/usr/bin/doveadm flags add -A '\Deleted' SEEN SENTBEFORE 12w && /usr/bin/doveadm expunge -A DELETED MAILBOX '*'
Recently, doveadm has been reporting this:
doveadm(nobody): Error: User initialization failed: Namespace '': mkdir(/nonexistent/mail) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup)) doveadm(nobody): Error: User init failed doveadm(DEFAULT-CW-USER): Info: User no longer exists, skipping
Indeed, using
doveadm user "*"
does include "nobody" in the list but I can't understand why. The mail group in /etc/group does not include "nobody" and there are users in /etc/passwd with similar attributes to "nobody" that do not appear in the list of users from doveadm.
What can I do to tell doveadm to forget about "nobody"?
Thanks.
Philip
Hi,
how about switching to use autoexpunge?
https://wiki.dovecot.org/MailboxSettings https://wiki.dovecot.org/MailboxSettings
Sami
On 17 Feb 2020, at 11.01, Philip Colmer philip.colmer@linaro.org wrote:
We're using dovecot on a help desk ticketing system. The system doesn't perform any cleanup of IMAP mailboxes so we have a regular cronjob doing this:
/usr/bin/doveadm flags add -A '\Deleted' SEEN SENTBEFORE 12w && /usr/bin/doveadm expunge -A DELETED MAILBOX '*'
Recently, doveadm has been reporting this:
doveadm(nobody): Error: User initialization failed: Namespace '': mkdir(/nonexistent/mail) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup)) doveadm(nobody): Error: User init failed doveadm(DEFAULT-CW-USER): Info: User no longer exists, skipping
Indeed, using
doveadm user "*"
does include "nobody" in the list but I can't understand why. The mail group in /etc/group does not include "nobody" and there are users in /etc/passwd with similar attributes to "nobody" that do not appear in the list of users from doveadm.
What can I do to tell doveadm to forget about "nobody"?
Thanks.
Philip
Also, you can use
first_valid_uid = <number>
last_valid_uid = <number>
to limit which users are considered valid.
Aki
On 17.2.2020 12.50, Sami Ketola wrote:
Hi,
how about switching to use autoexpunge?
https://wiki.dovecot.org/MailboxSettings
Sami
On 17 Feb 2020, at 11.01, Philip Colmer
mailto:philip.colmer@linaro.org> wrote: We're using dovecot on a help desk ticketing system. The system doesn't perform any cleanup of IMAP mailboxes so we have a regular cronjob doing this:
/usr/bin/doveadm flags add -A '\Deleted' SEEN SENTBEFORE 12w && /usr/bin/doveadm expunge -A DELETED MAILBOX '*'
Recently, doveadm has been reporting this:
doveadm(nobody): Error: User initialization failed: Namespace '': mkdir(/nonexistent/mail) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup)) doveadm(nobody): Error: User init failed doveadm(DEFAULT-CW-USER): Info: User no longer exists, skipping
Indeed, using
doveadm user "*"
does include "nobody" in the list but I can't understand why. The mail group in /etc/group does not include "nobody" and there are users in /etc/passwd with similar attributes to "nobody" that do not appear in the list of users from doveadm.
What can I do to tell doveadm to forget about "nobody"?
Thanks.
Philip
Thank you, Sami. I've made that change.
Regards
Philip
On Mon, 17 Feb 2020 at 10:50, Sami Ketola Sami.Ketola@open-xchange.com wrote:
Hi,
how about switching to use autoexpunge?
https://wiki.dovecot.org/MailboxSettings
Sami
On 17 Feb 2020, at 11.01, Philip Colmer philip.colmer@linaro.org wrote:
We're using dovecot on a help desk ticketing system. The system doesn't perform any cleanup of IMAP mailboxes so we have a regular cronjob doing this:
/usr/bin/doveadm flags add -A '\Deleted' SEEN SENTBEFORE 12w && /usr/bin/doveadm expunge -A DELETED MAILBOX '*'
Recently, doveadm has been reporting this:
doveadm(nobody): Error: User initialization failed: Namespace '': mkdir(/nonexistent/mail) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup)) doveadm(nobody): Error: User init failed doveadm(DEFAULT-CW-USER): Info: User no longer exists, skipping
Indeed, using
doveadm user "*"
does include "nobody" in the list but I can't understand why. The mail group in /etc/group does not include "nobody" and there are users in /etc/passwd with similar attributes to "nobody" that do not appear in the list of users from doveadm.
What can I do to tell doveadm to forget about "nobody"?
Thanks.
Philip
On Wed, 19 Feb 2020, Philip Colmer wrote:
/usr/bin/doveadm flags add -A '\Deleted' SEEN SENTBEFORE 12w && /usr/bin/doveadm expunge -A DELETED MAILBOX '*'
This may have been overtaken by Sami autoexpunge solution, but you can roll two I/O intensive operations into one -- there's no point setting flags on a message you'll expunge.
/usr/bin/doveadm expunge -A DELETED OR \( SEEN SENTBEFORE 12w \)
Joseph Tam jtam.home@gmail.com
participants (4)
-
Aki Tuomi
-
Joseph Tam
-
Philip Colmer
-
Sami Ketola