Page 1 of 1

Failed to open /etc/exim4/domains - Permission denied

Posted: Tue Apr 22, 2014 6:31 pm
by shaman
VPS Debian 7, установлен около месяца назад и поначалу этой проблемы не было.

Позавчера создал новый домен, а сегодня выяснилось, что на нём не ходит почта. Полез разбираться и нашёл в /var/log/exim4/mainlog:

Code: Select all

H=mailer20.*****.com [***.***.***.209] F=<r*****@s*****.com> temporarily rejected RCPT <[email protected]>: failed to open /etc/exim4/domains/domain.biz/aliases for linear search: Permission denied (euid=106 egid=110)
Причина оказалась в том, что владельцем файлов был root:root а не Debian-exim:mail как у доменов созданных раньше:

Code: Select all

root@t151:/etc/exim4/domains/domain.biz# ls -l
-rw-rw---- 1 root root  85 Апр 22 23:36 aliases
-rw-rw---- 1 root root   0 Апр 22 23:35 antispam
-rw-rw---- 1 root root   0 Апр 22 23:35 antivirus
-rw-rw---- 1 root root 887 Апр 22 23:35 dkim.pem
-rw-rw---- 1 root root   6 Апр 22 23:36 fwd_only
-rw-rw---- 1 dovecot     mail  75 Апр 22 23:36 passwd
Повторное удаление/создание домена/почтового домена приводит к тому же результату. Перезагрузка (нашёл в теме Перестала работать авторизация) не оказывает никакого влияния.

Дополнительно могу сообщить, что версия панели 0.9.8 (i386) Release: 8 - обновление было недавно, возможно ошибка появилась именно в нём.

Подскажите, пожалуйста, куда копнуть и/или какая дополнительная информация нужна.

Re: Failed to open /etc/exim4/domains - Permission denied

Posted: Tue Apr 22, 2014 6:46 pm
by imperio
Создайте Баг в багтрекере.
https://bugs.vestacp.com/
Проверим

Re: Failed to open /etc/exim4/domains - Permission denied

Posted: Sat Apr 26, 2014 5:08 pm
by shaman

Re: Failed to open /etc/exim4/domains - Permission denied

Posted: Sat Apr 26, 2014 5:12 pm
by imperio
Хорошо проверим

Re: Failed to open /etc/exim4/domains - Permission denied

Posted: Sat Apr 26, 2014 7:22 pm
by shaman
Кажется разобрался.

В строках 23-26 скрипта /usr/local/vesta/bin/v-add-mail-domain инклюдятся $VESTA/func/main.sh, $VESTA/func/domain.sh и $VESTA/conf/vesta.conf причём именно в таком порядке.
Поэтому когда отрабатывает условие в строке 30 main.sh выполнение идёт по ветке else и переменной MAIL_USER присваивается значение 'exim'.
Далее chown из строки 97 $VESTA/bin/v-add-mail-domain грязно ругается - chown: неверный пользователь: «exim:mail» - и отказывается менять владельца на отсутствующего в Debian "exim".

Изменил порядок строк на:

Code: Select all

source $VESTA/conf/vesta.conf
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
и функция заработала как положено.

Re: Failed to open /etc/exim4/domains - Permission denied

Posted: Mon May 05, 2014 5:01 pm
by iM0S
Столкнулся с такой же проблемой.
Благодаря совету shaman-а, проблема решилась.

Re: Failed to open /etc/exim4/domains - Permission denied

Posted: Wed May 07, 2014 12:46 pm
by imperio
Исправление в следующем релизе
Временное решение:

Code: Select all

echo "MAIL_USER='Debian-exim'" >> /usr/local/vesta/conf/vesta.conf
for user in $(v-list-sys-users plain);do v-rebuild-mail-domains $user;done