[exim-conf] свежий dovecot > 1.01, exim и Logins with login process UID 97 (user postmaster на nospam.xxx.ru) not permitted (see login_user in config file)

Victor Ustugov victor на corvax.kiev.ua
Пт Окт 5 09:23:23 EEST 2007


Nikolai V. Ivanyushin wrote:
> Привет, аксакалы!

здоров

> Такая проблема возникла с dovecot. Версия 1.01 ругалась
> -------------
> Oct  5 09:40:16 home dovecot: auth(default): 
> passwd(postmaster на nospam.xxx.ru,::ffff:192.168.xxx.xx): unknown user
> Oct  5 09:40:16 home dovecot: Logins with login process UID 97 (user 
> postmaster на nospam.xxx.ru) not permitted (see login_user in config file).
> -------------
> но пускала пользователя. А 1.03 уже не пускает. Пробовал написать в 
> конфиге login_user = dovecot. Не помогло. Есть ли какая подсказка?

пришло таки время доставлять почту виртуальных пользователей не от имени 
пользователя dovecot, как у многих было настроено, а от имени другого 
пользователя.

есть два вариант - или создать отдельного пользователя, или доставлять 
почту от имени пользователя, от имени которого запущен exim (exim в 
случае Linux и mailnull в случае FreeBSD).

для себя и своих клиентов я выбрал второй путь (дабы не продить сущности).

у тебя Fedora используется, так что сразу буду писать исходя из того, 
что доставку почты нужно настроить от имени пользователя exim.

для перенастройки exim нужно в site/conf изменить значения параметров 
confVIRT_MDIR_USER и confSYSTEM_FILTER_USER сделать равными exim (в 
общем случае можно сказать, что их надо сделать равными значению 
параметра confEXIM_USER):

define(`confSYSTEM_FILTER_USER', `exim')dnl
define(`confVIRT_MDIR_USER', `exim')dnl


после этого gmake stop all

stop делаем для того, чтобы не сыпались ошибки в логи при доставке 
первых писем, т. к. у нас exim уже будет пытаться доставлять почту от 
имени пользователя exim, а владельцем maildir'ов все еще является 
пользователь dovecot.

далее нужно сменить владельца maildir'ов и лога системного фильтра.

либо вручную, выполнив

chown -R exim /var/vmail /var/log/exim/filter*

либо из паровоза, выполнив

gmake install


в первом случае я подразумевал, что maildir'ы расположены  в /var/vmail
во втором случае я подразумевал, что в site/conf не выключена смена 
владельца maildir'ов переменной confVIRT_MDIR_CHOWN_RECURSIVE:
define(`confVIRT_MDIR_CHOWN_RECURSIVE', `NO')dnl

если значение confVIRT_MDIR_CHOWN_RECURSIVE не равно NO, то можно все 
манипуляции с паровозом свести к

gmake stop all install start



далее, нужно не забыть поправить владельца filterlog'а в программе 
ротации логов. в Linux нужно править /etc/logrotate.d/dovecot (сменить 
dovecot на exim), в FreeBSD нужно править /etc/newsyslog.conf (сменить 
dovecot на mailnull).



и последнее - правка конфига dovecot'а.

во-первых, нужно сменить значения first_valid_uid и last_valid_uid. 
проще всего просто приравнять их к значение UID пользователя exim (во 
всех или почти всех Fedora Core он равен 93).

во-вторых, нужно сменить значение аргумента uid в описании userdb static 
тоже на UID пользователя exim.

для FreeBSD в этих же местах нужно указать UID пользователя mainull.


после это остается запустить dovecot


ну и если в каких-то скриптах для работы с maildir'ами выполняется 
chown, то нужно не забыть и в них сменить пользователя dovecot на 
пользователя exim или mailnull в зависимости от ОС.


воде все

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694      CRV2-RIPE, CRV-UANIC




Подробная информация о списке рассылки exim-conf