Страница 1 из 1

Exim+Dovecot+Dspam - не корректно работают транспорты

Добавлено: 2010-09-17 16:44:39
no_fate
Уважаемые, пожалуйста помогите разобраться.

Настроен exim+dovecot по статье: http://www.lissyara.su/articles/freebsd ... tfixadmin/
Настроен dspam по статье: http://www.lissyara.su/articles/freebsd ... n_to_exim/

Почта ходит, dspam работает, обучается и т.п. как положено, спам распознает. Проблема в одном: сообщения, помеченные как спам в каталог Spam в инбоксе не складываются. Когда dspam определил спам-сообщение и по идее должен сработать транспорт, который это сообщение положит в папку Spam, в логах проходит следующее:
maillog:

Код: Выделить всё

Sep 17 17:09:32 хост dovecot: deliver(юзер@домен.ru): Fatal: setgid(26(mailnull)) failed with euid=26(mailnull), gid=6(mail), egid=6(mail): Operation not permitted (This binary should probably b
e called with process group set to 26(mailnull) instead of 26(mailnull))
exim:

Код: Выделить всё

2010-09-17 17:09:32 1OwXgb-0002VK-SL == юзер@домен.ru R=local_delivery_spam_router T=local_delivery_spam_transport defer (0): Child process of local_delivery_spam_transport transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/deliver
Файл dovecot-sql.conf:

Код: Выделить всё

driver = mysql
connect = host=localhost dbname=exim user=exim password=exim
default_pass_scheme = PLAIN
password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid`FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
Если делаю следующее:
В dovecot-sql.conf меняю 26 на 6 для 'gid' т.е. запрос выглядит так: user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 6 AS `gid`FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
после чего получаю обратную ситуацию - теперь dovecot не может положить входящие сообщения в мой ящик, однако сообщения, помеченные как спам, ложаться в папку Spam :)
maillog в этом случае выглядит вот так:

Код: Выделить всё

Sep 17 17:09:32 хост dovecot: deliver(юзер@домен.ru): Fatal: setgid(6(mail)) failed with euid=26(mailnull), gid=26(mailnull), egid=26(mailnull): Operation not permitted (This binary should proba
bly be called with process group set to 6(mail) instead of 26(mailnull))
Подозреваю, что deliver'y не нравится что-то в uid и guid но у меня не достаточно опыта чтобы разобраться как это исправить.

Re: Exim+Dovecot+Dspam - не корректно работают транспорты

Добавлено: 2010-09-20 21:18:40
no_fate
Проблема решена.
делаем группу и владельца "mailnull" для /usr/local/libexec/dovecot/deliver
затем:

Код: Выделить всё

chmod +s /usr/local/libexec/dovecot/deliver
Все замечательно работает. После обновления Dovecot права необходимо выставить заново.