I'm using the Exim mail server on an Ubuntu Server. The service runs as the user "Debian-exim" and the mail files are owned by the user "mail". This is a problem now.
I'm trying to understand how to solve it properly. But I first need to know why the "Debian-exim" user exists and the user "mail" wasn't simply used for this. What's the difference between the two? Can I just make them equal by adding them to some groups?
In this particular case I want to setup vacation support for Sieve filters in Exim. That system needs to access a vacation database directory and I'd like to put it inside the user's mail directory. That belongs to the user "mail". My Exim config looks like this:
begin routers
virtual_user_filter:
driver = redirect
allow_fail
allow_defer
allow_filter
# user = mail
user = Debian-exim
data = ${lookup mysql{MYSQL_Q_FILTER}{$value}}
address_data = ${lookup mysql{MYSQL_Q_QUOTA}{$value}fail}
file_transport = address_directory
reply_transport = address_reply
sieve_vacation_directory = ${lookup mysql{MYSQL_Q_MAILDIR}{$value}fail}/vacation
begin transports
address_directory:
driver = appendfile
directory = (...)
user = mail
(...)
The user in the router can't be set to "mail", this produces an error in the log. Currently my vacation filter does nothing, and the "vacation" directory is not created in the user's maildir. I guess it's a permissions problem. Nothing is logged anywhere for the config above.
(Update: When I change the sieve vacation directory to somehwere else like /tmp is works, so it's definitely a permissions problem in the maildir.)
Added log of the error message:
2017-11-05 22:04:30 unable to set gid=8 or uid=8 (euid=110): virtual_user_filter router (recipient is ***@***.de)
2017-11-05 22:04:35 internal problem in virtual_user_filter router (recipient is ***@***.de): failure to transfer data from subprocess: status=0100 readerror='No such file or directory'
2017-11-05 22:04:35 H=([IPv6:2001:a62:2d7:e601:2050:a350:988c:fa51]) [2001:a62:2d7:e601:2050:a350:988c:fa51] sender verify defer for <***@***.de>: internal problem in virtual_user_filter router (recipient is ***@***.de): failure to transfer da
2017-11-05 22:04:35 H=([IPv6:2001:a62:2d7:e601:2050:a350:988c:fa51]) [2001:a62:2d7:e601:2050:a350:988c:fa51] X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 CV=no F=<***@***.de> A=fixed_plain:***@***.de temporarily rejected RCPT <***@***.d