LINUX.ORG.RU
ФорумAdmin

exim+dovecot - ничерта не понимаю


0

0

Linux: centos 5.2 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux

Итак, что имеем. dovecot.conf: first_valid_uid = 93 first_valid_gid = 93 mail_debug = yes socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = exim group = exim } }

dovecot работает: [root@zeta ~]# ls -l /var/run/dovecot/ итого 8 srw------- 1 exim exim 0 Ноя 18 15:50 auth-master srw------- 1 exim exim 0 Ноя 18 15:50 auth-worker.7540 srwxrwxrwx 1 root root 0 Ноя 18 15:50 dict-server drwxr-x--- 2 root dovecot 4096 Ноя 18 15:50 login -rw------- 1 root root 5 Ноя 18 15:50 master.pid [root@zeta ~]# ls /var/mail/exim/kaa\@myhost.com/new [root@zeta ~]# sudo -u exim echo test|/usr/libexec/dovecot/deliver -d kaa [root@zeta ~]# ls /var/mail/exim/kaa\@myhost.com/new 1227013841.P7853Q0M590687.zeta.myhost.com

Конфиг exim'а dovecot_delivery: driver = pipe command = /usr/libexec/dovecot/deliver -d $local_part message_prefix = message_suffix = delivery_date_add envelope_to_add return_path_add log_output group = exim user = exim

Exim работает: [root@zeta ~]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 myhost.com SMTP welcome! helo master 250 myhost.com Hello master [127.0.0.1] mail from:kaa@myhost.com 250 OK rcpt to:kaa@myhost.com 250 Accepted data 354 Enter message, ending with "." on a line by itself test . 250 OK id=1L2QOl-00024a-UC

но, как вы понимаете, письмо не доставляется.

Вот что имеем в логах: maillog: Nov 18 16:13:53 zeta deliver(kaa): auth input: kaa Nov 18 16:13:53 zeta deliver(kaa): auth input: home=kaa@myhost.com/ Nov 18 16:13:53 zeta deliver(kaa): auth input: uid=26 Nov 18 16:13:53 zeta deliver(kaa): auth input: gid=26 Nov 18 16:13:53 zeta deliver(kaa): setgid(26) failed with euid=93, gid=93, egid=93: Operation not permitted

exim/main.log: 2008-11-18 16:13:53 1L2QOl-00024a-UC == kaa@myhost.com R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/libexec/dovecot/deliver

на всякий случай: [root@zeta ~]# id exim uid=93(exim) gid=93(exim) группы=93(exim),12(mail)

Что можете посоветовать?


Linux: centos 5.2 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux


Итак, что имеем.
dovecot.conf:
first_valid_uid = 93
first_valid_gid = 93
mail_debug = yes
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = exim
group = exim
}
}

dovecot работает:
[root@zeta ~]# ls -l /var/run/dovecot/
итого 8
srw------- 1 exim exim 0 Ноя 18 15:50 auth-master
srw------- 1 exim exim 0 Ноя 18 15:50 auth-worker.7540
srwxrwxrwx 1 root root 0 Ноя 18 15:50 dict-server
drwxr-x--- 2 root dovecot 4096 Ноя 18 15:50 login
-rw------- 1 root root 5 Ноя 18 15:50 master.pid
[root@zeta ~]# ls /var/mail/exim/kaa\@myhost.com/new
[root@zeta ~]# sudo -u exim echo test|/usr/libexec/dovecot/deliver -d kaa
[root@zeta ~]# ls /var/mail/exim/kaa\@myhost.com/new
1227013841.P7853Q0M590687.zeta.myhost.com

Конфиг exim'а
dovecot_delivery:
driver = pipe
command = /usr/libexec/dovecot/deliver -d $local_part
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
group = exim
user = exim

Exim работает:
[root@zeta ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 myhost.com SMTP welcome!
helo master
250 myhost.com Hello master [127.0.0.1]
mail from:kaa@myhost.com
250 OK
rcpt to:kaa@myhost.com
250 Accepted
data
354 Enter message, ending with "." on a line by itself
test
.
250 OK id=1L2QOl-00024a-UC

но, как вы понимаете, письмо не доставляется.

Вот что имеем в логах:
maillog:
Nov 18 16:13:53 zeta deliver(kaa): auth input: kaa
Nov 18 16:13:53 zeta deliver(kaa): auth input: home=kaa@myhost.com/
Nov 18 16:13:53 zeta deliver(kaa): auth input: uid=26
Nov 18 16:13:53 zeta deliver(kaa): auth input: gid=26
Nov 18 16:13:53 zeta deliver(kaa): setgid(26) failed with euid=93, gid=93, egid=93: Operation not permitted

exim/main.log:
2008-11-18 16:13:53 1L2QOl-00024a-UC == kaa@myhost.com R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/libexec/dovecot/deliver

на всякий случай:
[root@zeta ~]# id exim
uid=93(exim) gid=93(exim) группы=93(exim),12(mail)

Что можете посоветовать?

ch_cat
() автор топика
Ответ на: комментарий от ch_cat

auth input: gid=26 у тебя же минимально разрешенный 93

anonymous
()
Ответ на: комментарий от ch_cat

там по умолчанию стоит mta sendmail
поставь exim

можешь просто удалить сендмыло

dimon555 ★★★★★
()

Чудеса. Локализовал проблему, она скорее в dovecot, чем в exim
Все-таки не зря мне он про 26 uid говорит.
dovecot, например, под этим 26 uid'ом создает папки пользовательские при первом логине через pop3 в /var/mail/exim

а 26 uid это как ни странно postgres

вот dovecot.conf

base_dir = /var/run/dovecot/
protocols = pop3
protocol pop3 {
listen = *:1110
}
ssl_disable = yes
disable_plaintext_auth = no

shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 128
login_max_connections = 256
login_greeting = myhost.com POP3 server
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
verbose_proctitle = yes
first_valid_uid = 8
first_valid_gid = 0
mail_access_groups = mail
mail_debug = yes
default_mail_env = maildir:/var/mail/exim/%h
umask = 0077

protocol imap {
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}

protocol pop3 {
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}

protocol lda {
postmaster_address = kaa@myhost.com
auth_socket_path = /var/run/dovecot/auth-master
}

auth default {
mechanisms = plain
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = mail
group = mail
}
}
passdb sql {
args = /etc/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot-sql.conf
}
user = mail
}
plugin {
}

И где здесь postgres? Ничего не понимаю.

ch_cat
() автор топика
Ответ на: комментарий от hizel

В базе. mysql )

вот то что в dovecot-sql.conf driver = mysql connect = host=localhost dbname=exim user=user password=passowrd

default_pass_scheme = PLAIN password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%u' or `username` = '%u@myhost.com' AND `active`='1' user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = '%u' or `username` = '%u@myhost.com AND `active`='1'

вот здесь я кинул подробный лог: http://chcat.net/dovecot.html

ch_cat
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.