Я использую почтовый сервер Exim на сервере Ubuntu. Служба работает от имени пользователя «Debian-exim», а почтовые файлы принадлежат пользователю «mail». Теперь это проблема.
Пытаюсь понять, как правильно решить. Но сначала мне нужно знать, почему существует пользователь «Debian-exim», а пользователь «mail» просто не использовался для этого. В чем разница между ними? Могу я просто уравнять их, добавив в какие-то группы?
В этом конкретном случае я хочу настроить поддержку отпуска для фильтров Sieve в Exim. Этой системе необходим доступ к каталогу базы данных отпуска, и я хотел бы поместить его в почтовый каталог пользователя. То, что принадлежит пользователю «почта». Моя конфигурация Exim выглядит так:
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
(...)
Пользователь в маршрутизаторе не может быть настроен на «почту», это приводит к ошибке в журнале. В настоящее время мой фильтр отпуска ничего не делает, и каталог «отпуск» не создается в maildir пользователя. Думаю, это проблема с разрешениями. Для конфигурации выше нигде не регистрируется.
(Обновление: когда я меняю каталог отпуска sieve на что-то еще, например, / tmp работает, так что это определенно проблема с разрешениями в maildir.)
Добавлен журнал сообщения об ошибке:
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