Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
IgorKj
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-10-01 11:24:22

Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение IgorKj » 2008-10-02 9:19:07

Доброго времени суток!
настраиваю почтовый сервер по стятьям http://www.lissyara.su/?id=1173 и http://www.lissyara.su/?id=1728
ПО - FreeBSD 7.0, dovecot-1.1.3_1, postfixadmin-2.2.1.1, mysql-server-4.1.22, exim-4.69
Уперся в проблему - клиент Outlook Express не проходит авторизацию.
В Postfixadmine создаю пользователя test_box@my.domain.com, пароль box

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

insert into `mailbox` (`username`, `password`, `name`, `maildir`, `quota`, `domain`, `created`, `modified`, `active`) values('test-box@my.domain.com,'box','',my.domain.com/test-box/','0',my.domain.com,'2008-10-01 10:51:29','2008-10-01 10:51:29','1');

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

/usr/local/etc/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 повляется

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

dovecot: Oct 01 14:23:56 Info: auth(default): client in: AUTH   1       PLAIN   service=imap    lip=192.168.1.26 rip=192.168.1.141        lport=143       rport=3065      resp=AHRlc3RfYm94AGJveA==
dovecot: Oct 01 14:23:56 Info: auth-worker(default): sql(test_box,192.168.1.141): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'test_box@' and `active` = '1'
dovecot: Oct 01 14:23:56 Info: auth-worker(default): sql(test_box,192.168.1.141): unknown user
dovecot: Oct 01 14:23:56 Info: auth(default): new auth connection: pid=73807
dovecot: Oct 01 14:23:58 Info: auth(default): client out: FAIL  1       user=test_box
dovecot: Oct 01 14:24:00 Info: imap-login: Disconnected (auth failed, 1 attempts): user=<test_box>, method=PLAIN, rip=192.168.1.141, lip=192.168.1.26
Как я понял - переменная %d ничего не возврашает. Пробовал %u - опять только user без домена.
Параллельно обратил внимание что в таблице mailbox поле username заполняется с доменной частью, несмотря на установку

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

/usr/local/www/postfixadmin/config.inc.php
// Mailboxes
// If you want to store the mailboxes per domain set this to 'YES'.
// Examples:
//   YES: /usr/local/virtual/domain.tld/username@domain.tld
//   NO:  /usr/local/virtual/username@domain.tld
$CONF['domain_path'] = 'YES';
// If you don't want to have the domain in your mailbox set this to 'NO'.
// Examples:
//   YES: /usr/local/virtual/domain.tld/username@domain.tld
//   NO:  /usr/local/virtual/domain.tld/username
// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.
$CONF['domain_in_mailbox'] = 'NO';
Подскажите в какую сторону копать?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение schizoid » 2008-10-02 10:07:46

есть 2 выхода
1. в настройках почтовых клиентов указывать логин в виде: user@domain.ru
2. в конфиге довекота dovecot-sql.conf
заменить

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

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'
на

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

password_query = SELECT `username` as `user`, `password` FROM  `mailbox` WHERE `username` = '%n@domain.ru' AND `active`='1'
user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = '%n@domain.ru' AND `active`='1'
ядерный взрыв...смертельно красиво...жаль, что не вечно...

IgorKj
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-10-01 11:24:22

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение IgorKj » 2008-10-02 14:12:22

Спасибо!
Воспользовался первым вариантом с почтовым клиентом - проблемы с авторизацией ушли!

zzr
проходил мимо
Сообщения: 1
Зарегистрирован: 2008-10-13 1:15:50

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение zzr » 2008-10-13 1:21:13

IgorKj писал(а):Спасибо!
Воспользовался первым вариантом с почтовым клиентом - проблемы с авторизацией ушли!
сам воткнулся в проблемку урезания домена
ответ в dovecot.conf

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

auth_username_format = %Ln
то есть он преобразует имя пользователя при аутентификации не просто в нижний регистр, а еще и усекает доменную часть.
У меня заработали запросики, когда поменял на

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

auth_username_format = %Lu

fxp
мл. сержант
Сообщения: 79
Зарегистрирован: 2008-10-06 1:02:58

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение fxp » 2009-01-28 16:20:52

Как же все очевидно когда знаешь ответ >_<

Sava
проходил мимо

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение Sava » 2009-01-29 0:16:38

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

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

auth_default_realm = mymaildomain.com
если ее использовать, то dovecot в случае отсутствия доменной части в логине пользователя подставит этот дефолт. Теперь в _одном_ дефолтном домене в установках клиента не обязательно писать логин в виде полного мыла, а можно только его локальную часть :)

fxp
мл. сержант
Сообщения: 79
Зарегистрирован: 2008-10-06 1:02:58

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение fxp » 2009-01-29 11:09:12

и о виртуальных ящиках можно забыть)

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

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение Alex Keda » 2009-01-29 23:36:11

fxp писал(а):и о виртуальных ящиках можно забыть)
нефакт..... надо пробовать - у него может хватить ума понять - с собакой адрес или нет подсунут.
Убей их всех! Бог потом рассортирует...

MVictorL
проходил мимо

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение MVictorL » 2009-04-07 9:36:39

Точно моя проблема!

Но решения, я что-то не нашел в этой ветке -- ничего не помогло, кроме, конечно, подстановки в явном виде домена ("%u@mydomain.ru"), что не вяжется с виртуальными доменами.

Может быть всё-таки кто-то нашел нормальное решение?

Сейчас у меня пользователи логинятся не по имени, а по почтовому адресу -- мне это немного не нравится...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение paradox » 2009-04-07 9:42:54

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

MVictorL
проходил мимо

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение MVictorL » 2009-04-07 9:56:35

Я действительно ценю практический опыт, но я просил совета, как сделать то, что ДОЛЖНО работать!..

Аватара пользователя
mastertron
мл. сержант
Сообщения: 107
Зарегистрирован: 2009-02-06 20:48:53
Откуда: Украина, Одесса

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение mastertron » 2009-05-23 20:23:52

Столкнувшись с проблемой, одним из вариантов выкрутился:
При создании пользователей в поле "name" (в морде postfixadmin - "Имя:") дублирую его логин, а в Dovecot вытаскиваю не username а name. Ну, если только один домен - пойдет.

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

user_query = SELECT name AS home, 521 AS 'uid' , 521 AS 'gid' FROM mailbox WHERE name = '%u' 
Делай как нибудь, а как надо - само получится!

Covax
мл. сержант
Сообщения: 131
Зарегистрирован: 2008-04-27 23:54:31
Откуда: Витебск, Беларусь
Контактная информация:

Re: Dovecot+Mysql+Postfixadmin - проблемы с авторизацией

Непрочитанное сообщение Covax » 2010-04-04 22:29:41

Проблема не решается если имя и домен в базе прописаны в разных полях. Чтобы победить надо dovecot-mysql.conf поправить на:

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

password_query = SELECT CONCAT(`name`,'@',`domain`) AS `user`, `password` FROM  `users` WHERE `name` = '%n' AND `domain`='%d'
Таким образом переменная user будет содержать полное значение user@domain, а не только user как в примерах выше.