Ошибка траспорта в EXIM
Добавлено: 2010-05-04 1:43:05
EXIM
Имеется транспорт:
При попытке доставить локальному пользователю возникает ошибка:
Дело в том, что здесь (и именно здесь - в ручную проверяю - всё в порядке) perl-функция не отдаёт необходимые данные (в данном случае путь к каталогу).
Если пытаюсь использовать вместо perl-функции extract:
то возникает уже другая ошибка:
то доступ к файлу данных запрещён! тогда как такое же обращение за UID & GID в этот же файл нормально проходит!
И тут вообще становится интересно! Если убрать в траспорте установку пользователя и группы:
то путь выдаётся нормально, но т.к. тот каталог открыт только для пользователя, то происходит ошибка:
Как можно видеть, сейчас функция выдала требуемый путь!...
Что здесь может быть?
Имеется транспорт:
Код: Выделить всё
local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
file = "${perl{gethome}{$local_part}{$domain}}/mbox"
group = ${extract{2}{:}{${lookup{$local_part\@$domain} lsearch{/usr/local/etc/exim/passwd}{$value}{}}}}
user = ${extract{1}{:}{${lookup{$local_part\@$domain} lsearch{/usr/local/etc/exim/passwd}{$value}{}}}}
mode = 0600
no_mode_fail_narrower
Код: Выделить всё
#esend 1O90fk-000PKM-Oa
delivering 1O90fk-000PKM-Oa
LOG: MAIN
== proba@proba.ru R=localuser T=local_delivery defer (13): Permission denied: creating lock file hitching post /mbox.lock.proba.com.4bdf4ce7.00001f1c (euid=1002 egid=1007)
Если пытаюсь использовать вместо perl-функции extract:
Код: Выделить всё
local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
file = ${extract{3}{:}{${lookup{$local_part\@$domain} lsearch{/usr/local/etc/exim/passwd}{$value}{}}}}/mbox
group = ${extract{2}{:}{${lookup{$local_part\@$domain} lsearch{/usr/local/etc/exim/passwd}{$value}{}}}}
user = ${extract{1}{:}{${lookup{$local_part\@$domain} lsearch{/usr/local/etc/exim/passwd}{$value}{}}}}
mode = 0600
no_mode_fail_narrower
Код: Выделить всё
#esend 1O90fk-000PKM-Oa
delivering 1O90fk-000PKM-Oa
LOG: MAIN PANIC
== proba@proba.ru R=localuser T=local_delivery defer (-1): Expansion of "${extract{3}{:}{${lookup{$local_part\@$domain} lsearch{/usr/local/etc/exim/passwd}{$value}{}}}}/mbox" (file or directory name for local_delivery transport) failed: failed to open /usr/local/etc/exim/passwd for linear search: Permission denied (euid=1002 egid=1007)
И тут вообще становится интересно! Если убрать в траспорте установку пользователя и группы:
Код: Выделить всё
local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
file = "${perl{gethome}{$local_part}{$domain}}/mbox"
mode = 0600
no_mode_fail_narrower
Код: Выделить всё
#esend 1O90fk-000PKM-Oa
delivering 1O90fk-000PKM-Oa
LOG: MAIN
== proba@proba.ru R=localuser T=local_delivery defer (13): Permission denied: creating lock file hitching post /home/proba/data/email/proba.ru/proba/mbox.lock.proba.com.4bdf4f62.00001fb3 (euid=26 egid=0)
Что здесь может быть?