dovecot, етить его..

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
grave
ефрейтор
Сообщения: 65
Зарегистрирован: 2006-02-20 16:52:04
Откуда: Сургут
Контактная информация:

dovecot, етить его..

Непрочитанное сообщение grave » 2006-07-30 10:06:52

Ребят, проблема с dovecot, может подскажите где затык..
структура таблицы users бд mysql:

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

 
username    domain                 password                      maildir                quota       gid uid   
    test      xxxxxxx.xx   $1$tyTgp8vM$HfdvX1v5St   xxxxxxx.xx/test      50000000   89   89  

dovecot.conf:

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

protocols = pop3 
disable_plaintext_auth = no 
ssl_disable = yes 
login_dir = /var/run/dovecot/login 
login_user = dovecot 
mail_extra_groups = vchkpw 
mmap_disable = yes 
first_valid_uid = 89 
first_valid_gid = 89 
valid_chroot_dirs = /usr/home/vpopmail/ 
protocol pop3 { 
  login_executable = /usr/local/libexec/dovecot/pop3-login 
  mail_executable = /usr/local/libexec/dovecot/pop3 
  pop3_uidl_format = %08Xu%08Xv 
} 
auth_verbose = yes 
auth_debug = yes 
auth default { 
  mechanisms = plain 
  passdb sql { 
  args = /usr/local/etc/dovecot-sql.conf 
  } 
  userdb sql { 
  args = /usr/local/etc/dovecot-sql.conf 
  } 
} 

dovecot-sql.conf:

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

driver = mysql 
connect = host=xx.xx.xx.xx dbname=maildb user=sqluser password=xxxxx 
default_pass_scheme = CRYPT 
password_query = SELECT password FROM users WHERE username = '%u' 
user_query = SELECT CONCAT("/usr/home/vpopmail/domains/", maildir), uid, gid FROM users WHERE username = '%u' 

при тестовом подключении в логе такая пурга:

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

Jul 30 01:09:22 smtp1 dovecot: auth(default): client in: AUTH   1       PLAIN   service=POP3    lip=xx.xx.xx.xx 
rip=xx.xx.xx.xx       resp=<hidden> 
Jul 30 01:09:22 smtp1 dovecot: auth-worker(default): sql(test,xx.xx.xx.xx): query: SELECT password FROM users WHERE username = 'test' 
Jul 30 01:09:22 smtp1 dovecot: auth(default): client out: OK    1       user=test 
Jul 30 01:09:22 smtp1 dovecot: auth(default): master in: REQUEST        1       61432   1 
Jul 30 01:09:22 smtp1 dovecot: auth-worker(default): sql(test,xx.xx.xx.xx): SELECT CONCAT("/usr/home/vpopmail/domains/", maildir), uid, gid FROM users WHERE username = 'test' 
Jul 30 01:09:22 smtp1 dovecot: auth(default): master out: USER  1       test        CONCAT("/usr/home/vpopmail/domains/", maildir)=/usr/home/vpopmail/domains/xxxxxxx.xx/test   uid=89  gid=89 
Jul 30 01:09:22 smtp1 dovecot: pop3-login: Login: user=<test>, method=PLAIN, rip=xx.xx.xx.xx, lip=xx.xx.xx.xx 
Jul 30 01:09:22 smtp1 dovecot: POP3(tetst): mbox: Can't create root IMAP folder /mail: Permission denied 
Jul 30 01:09:22 smtp1 dovecot: POP3(test): MAIL environment missing and autodetection failed (home ) 
Jul 30 01:09:22 smtp1 dovecot: child 61438 (pop3) returned error 89 

при чем, если прописать
default_mail_env = maildir:/usr/home/vpopmail/domains
в указанной директории создаются папки cur, new, tmp и все пашет..
система нормально работает с курьером, решил попробовать перейти на dovecot - не получилось %)
Acta est fabula..

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35019
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-07-30 11:29:28

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

Jul 30 01:09:22 smtp1 dovecot: POP3(tetst): mbox: Can't create root IMAP folder /mail: Permission denied
это чё такое? где у тя такое?
и поделись сокровенным знанием, почему у тебя в БД "test" а логинишься ты как "tetst"?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
grave
ефрейтор
Сообщения: 65
Зарегистрирован: 2006-02-20 16:52:04
Откуда: Сургут
Контактная информация:

Непрочитанное сообщение grave » 2006-07-30 12:13:05

lissyara писал(а):

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

Jul 30 01:09:22 smtp1 dovecot: POP3(tetst): mbox: Can't create root IMAP folder /mail: Permission denied
это чё такое? где у тя такое?
и поделись сокровенным знанием, почему у тебя в БД "test" а логинишься ты как "tetst"?
банальная опечатка в листинге лога.. %)
если бы я знал.. имап же в конфиге полностью отключен
Acta est fabula..

Аватара пользователя
grave
ефрейтор
Сообщения: 65
Зарегистрирован: 2006-02-20 16:52:04
Откуда: Сургут
Контактная информация:

Непрочитанное сообщение grave » 2006-08-02 16:00:06

короче сырой он еще.. для работы приходится бд под него настраивать, а не наоборот.. а это не есть гуд..
Acta est fabula..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35019
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-08-02 16:36:20

grave писал(а):короче сырой он еще.. для работы приходится бд под него настраивать, а не наоборот.. а это не есть гуд..
в смысле?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Din
рядовой
Сообщения: 21
Зарегистрирован: 2006-08-02 22:40:41
Откуда: РБ, Минск

Непрочитанное сообщение Din » 2006-08-02 22:45:50

С довекотом ещё есть такая трабла - нехочет из MySQL шифрованный пароль вытягивать, может подскажете как с этим бороться ?

# Таблица пользователей users,
CREATE TABLE users (
login varchar(64) NOT NULL default '',
name varchar(128) NOT NULL default '',
password varchar(64) NOT NULL default '',
decrypt varchar(64) NOT NULL default '',
uid int(10) unsigned default '1003',
gid int(10) unsigned default '6',
domain varchar(128) NOT NULL default 'mydomain.ru',
quota tinyint(4) default '0',
status enum('0','1') default '1',
PRIMARY KEY (login,domain)

Вытягивает пароль из password если в Bat забить уже шифрованый пароль, а если в нешифрованом decrypt виде то ругается на ошибку аутенфикации, брать пароль из поля decrypt отказывается :(

PS конфиг довекот-sql мэйд ин Лисяра )

Аватара пользователя
grave
ефрейтор
Сообщения: 65
Зарегистрирован: 2006-02-20 16:52:04
Откуда: Сургут
Контактная информация:

Непрочитанное сообщение grave » 2006-08-03 5:27:15

Din писал(а):С довекотом ещё есть такая трабла - нехочет из MySQL шифрованный пароль вытягивать, может подскажете как с этим бороться ?

# Таблица пользователей users,
CREATE TABLE users (
login varchar(64) NOT NULL default '',
name varchar(128) NOT NULL default '',
password varchar(64) NOT NULL default '',
decrypt varchar(64) NOT NULL default '',
uid int(10) unsigned default '1003',
gid int(10) unsigned default '6',
domain varchar(128) NOT NULL default 'mydomain.ru',
quota tinyint(4) default '0',
status enum('0','1') default '1',
PRIMARY KEY (login,domain)

Вытягивает пароль из password если в Bat забить уже шифрованый пароль, а если в нешифрованом decrypt виде то ругается на ошибку аутенфикации, брать пароль из поля decrypt отказывается :(

PS конфиг довекот-sql мэйд ин Лисяра )
попробуй прописать в dovecot-sql.conf
default_pass_scheme = CRYPT
Acta est fabula..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35019
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-08-03 8:32:18

господа, это неоднократно говорилось, но повторю ещё раз - Bat использует Cram-md5 ацтентификацию - а она в принципе не может работать если на сервере пароли зашифрованы. Единственный вариант - зашифровать их на сервере такимже алгоритмом, но не факт что прокатит, и непонятно как всему остальному этим работать...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Din
рядовой
Сообщения: 21
Зарегистрирован: 2006-08-02 22:40:41
Откуда: РБ, Минск

Непрочитанное сообщение Din » 2006-08-03 9:56:56

2 grave - default_pass_scheme = CRYPT прописано
2 lissyara - с аутлуком такаяже петрушка

на офф сайте довекота есть такое вот мнение - http://wiki.dovecot.org/MysqlProblems
Multiple definition of sha1_result

Quick solution: Change all sha1_result functions in Dovecot source tree to dovecot_sha1_result or something. For example:

cd dovecot
perl -i -pe 's/sha1_result/dovecot_sha1_result/' `find . -name '*.[ch]'`
Я пробовал и либо не помогает либо чтото я напутал :(

Собственно даже из комм строки тоже самое
это нешифрованный пароль :
  • [din@poligon ~]$ telnet localhost 110
    Trying ::1...
    Trying 10.16.80.213...
    Connected to localhost.
    Escape character is '^]'.
    +OK dovecot MUA ready
    user admin@bsd.poligon.din
    +OK
    pass qwe
    -ERR Authentication failed.
а это вытянутый из мускуля шифрованый
  • din@poligon ~]$ telnet localhost 110
    Trying ::1...
    Trying 10.16.80.213...
    Connected to localhost.
    Escape character is '^]'.
    +OK dovecot MUA ready
    user admin@bsd.poligon.din
    +OK
    pass Xz6D4PFzLehIQ
    +OK Logged in.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35019
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-08-03 10:57:18

запросы к БД идут?
Включи тладку, в логах чё?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Din
рядовой
Сообщения: 21
Зарегистрирован: 2006-08-02 22:40:41
Откуда: РБ, Минск

Непрочитанное сообщение Din » 2006-08-03 11:06:56

maillog
Aug 3 11:01:22 poligon dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Aug 3 11:01:22 poligon dovecot: auth-worker(default): sql(admin@bsd.poligon.din,10.16.80.213): query: SELECT password FROM users WHERE login = 'admin' AND domain = 'bsd.poligon.din' AND status = '1'
Aug 3 11:01:22 poligon dovecot: auth-worker(default): sql(admin@bsd.poligon.din,10.16.80.213): Password mismatch
Aug 3 11:01:24 poligon dovecot: auth(default): client out: FAIL 1 user=admin@bsd.poligon.din
Aug 3 11:02:22 poligon dovecot: pop3-login: Disconnected: Inactivity: user=<admin@bsd.poligon.din>, method=PLAIN, rip=10.16.80.213, lip=10.16.80.213, secured
Aug 3 11:02:42 poligon dovecot: auth(default): client in: AUTH 1 PLAIN service=POP3 secured lip=10.16.80.213 rip=10.16.80.213 resp=<hidden>
Aug 3 11:02:42 poligon dovecot: auth-worker(default): sql(admin@bsd.poligon.din,10.16.80.213): query: SELECT password FROM users WHERE login = 'admin' AND domain = 'bsd.poligon.din' AND status = '1'
Aug 3 11:02:42 poligon dovecot: auth(default): client out: OK 1 user=admin@bsd.poligon.din
Aug 3 11:02:42 poligon dovecot: auth(default): master in: REQUEST 3 905 1
Aug 3 11:02:42 poligon dovecot: auth-worker(default): sql(admin@bsd.poligon.din,10.16.80.213): SELECT uid, gid FROM users WHERE login = 'admin' AND domain = 'bsd.poligon.din'
Aug 3 11:02:42 poligon dovecot: Logins with login process UID 1003 (user admin@bsd.poligon.din) not permitted (see login_user in config file).
Aug 3 11:02:42 poligon dovecot: auth(default): master out: USER 3 admin@bsd.poligon.din uid=1003 gid=6
Aug 3 11:02:42 poligon dovecot: pop3-login: Login: user=<admin@bsd.poligon.din>, method=PLAIN, rip=10.16.80.213, lip=10.16.80.213, secured
PS как сделать чтоб не цитатой выделять а как у Вас в постах выше ?
Берегите интернет, он у нас один такой :)

Аватара пользователя
trubb
лейтенант
Сообщения: 864
Зарегистрирован: 2005-03-16 17:42:26
Откуда: сами мы не местные, приехали на лечение

Непрочитанное сообщение trubb » 2006-08-03 11:09:33

кнопа code :D
иГрАюВсТрАйКбОл!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35019
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-08-03 11:16:41

запросы руками проваодил? идут, возвращают то что надо?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Din
рядовой
Сообщения: 21
Зарегистрирован: 2006-08-02 22:40:41
Откуда: РБ, Минск

Непрочитанное сообщение Din » 2006-08-03 11:26:37

Насколько я понимаю, да

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

mysql> USE exim;
Database changed
mysql> SELECT password FROM users WHERE login = 'admin' AND domain = 'bsd.poligon.din' AND status = '1';
+---------------+
| password      |
+---------------+
| Xz6D4PFzLehIQ | 
+---------------+
1 row in set (0.00 sec)
Берегите интернет, он у нас один такой :)