Exim, несколько одинаковых аутентификаторов, как в dovecot
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Exim, несколько одинаковых аутентификаторов, как в dovecot
Возможно ли такое реализовать ? т.е. условно говоря есть база mysql с пользователями, есть пользователи в active directory...соответственно задача в том, что эксим сначаал пытался авторизовать пользователя в домене, потом через mysql базу и т.д....собственно как это сделанно в dovecot. Но если эксим видит два одинаковых аутентификатора (с однаковым типом, к примеру plain) то он соответственно ругается и вываливается с ошибкой.
В инете инфы на эту тему нет.
В инете инфы на эту тему нет.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Сделайте аутентификацию через dovecot, если я правильно понял.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Ага, а сам я не догадался думаете ? У довкота есть определенные проблемы с некоторыми клиентами, поэтому через него не пойдет.
п.с. вообще конечно был очень удивлен, увидев такой косяк в эксиме...такой функционал и простейшую функцию не могли реализовать....ппц.
п.с. вообще конечно был очень удивлен, увидев такой косяк в эксиме...такой функционал и простейшую функцию не могли реализовать....ппц.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
НУ придумайте кондишен для ваших нужд при аутентификации. Это же простейшее ИЛИ.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Эксим не позволяет использовать два аутентификатора с одинаковым методом (к примеру plain) независимо от кондишенов. При загрузке конфига он вываливается с ошибкой в которой он это явно указывает. В этом вся проблема. Спрашиваю тут т.к. возможно упустил какие-либо опции которые возможно позволяют это сделать.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Какие это проблемы? имена кириллицей?neyro писал(а):У довкота есть определенные проблемы с некоторыми клиентами, поэтому через него не пойдет.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Я уже не помню какая именно ошибка была(что-то связанное с неподдерживаемым методом аутентификации...довкот выдавал отлуп и в лог писал ошибку из 3-4 слов, связанно это судя по всему с корявостью эксимовского модуля dovecot), но воспроизвести очень просто-попробуйте авторизовать пользователя из roundcube в эксиме. Не в dovecot через Imap, а именно в эксиме через аутентификатор dovecot.
И вообще какая разница - просто нужно сделать нормальную аутентификацию, а делать это через кучу костылей желания нет.
п.с. про имена кириллицей это Вы конечно загнули...такой жести уж точно никто делать не будет
И вообще какая разница - просто нужно сделать нормальную аутентификацию, а делать это через кучу костылей желания нет.
п.с. про имена кириллицей это Вы конечно загнули...такой жести уж точно никто делать не будет
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Ещё раз повторю твой вопрос и свой ответ:
Или такой тебе вопрос:
Что мешает создать аутентификатор PLAIN (один) в котором будет производиться проверка в AD и в MYSQL.
соответственно задача в том, что эксим сначала пытался авторизовать пользователя в домене, потом через mysql
Если что-то там в AD и/или MYSQL, тогда PLAIN успешен.НУ придумайте кондишен для ваших нужд при аутентификации. Это же простейшее ИЛИ.
Или такой тебе вопрос:
Что мешает создать аутентификатор PLAIN (один) в котором будет производиться проверка в AD и в MYSQL.
Ага. 10 аутентфикаторов это не костыль ))И вообще какая разница - просто нужно сделать нормальную аутентификацию, а делать это через кучу костылей желания нет.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Вообще хотелось сделать так: пробуем аутентифицировать юзера в мускуль базе, если нет то лезем в довкот за паролем. Соответственно в одном аутентификаторе этого не сделать из-за разных используемых драйверов( plaintext и dovecot соответственно). Напрямую биндится к АД может и получится..но это крайний случай.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Да блин, никак ты не поймёшь меня.
1. Аутентификация - это выполнение некоего набора условий (сравнение логина и пароля).
Результат может быть 1 или 0 (символически имею ввиду. ДА или НЕТ)
2. В зависимости от результата п.1. ты принимаешь решение успешна аутентификация или нет.
Что такое аутентификация dovecot - тот же набор условий (запрос к mysql)
Вывод:
Тебе нужно совместить 2-е проверки в одном условии.
1. Написать проверку в mysql (переписать из dovecot и оттестировать)
Кстати, когда я не знал что можно через dovecot, писал сам запрос к mysql. Потом нашёл аутентификатор и сделал через него, чтобы не дублировать.
2. Написать проверку в AD.
3. Совместить 1 и 2 в одном запросе.
1. Аутентификация - это выполнение некоего набора условий (сравнение логина и пароля).
Результат может быть 1 или 0 (символически имею ввиду. ДА или НЕТ)
2. В зависимости от результата п.1. ты принимаешь решение успешна аутентификация или нет.
Что такое аутентификация dovecot - тот же набор условий (запрос к mysql)
Вывод:
Тебе нужно совместить 2-е проверки в одном условии.
1. Написать проверку в mysql (переписать из dovecot и оттестировать)
Кстати, когда я не знал что можно через dovecot, писал сам запрос к mysql. Потом нашёл аутентификатор и сделал через него, чтобы не дублировать.
2. Написать проверку в AD.
3. Совместить 1 и 2 в одном запросе.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
)) У меня есть проверка и через Mysql и через AD и в эксиме, и в довекоте...это как 2х2.
Вопрос в другом - как сделать так, чтобы аутентификатор сначала пробовал проверить пароль в mysql, а потом в идеале через dovecot -в данный момент совместить это нельзя т.к. в случае mysql параметр driver = plaintext в аутентификаторе, а для проверки через довкот нужно driver = dovecot.
Вопрос в другом - как сделать так, чтобы аутентификатор сначала пробовал проверить пароль в mysql, а потом в идеале через dovecot -в данный момент совместить это нельзя т.к. в случае mysql параметр driver = plaintext в аутентификаторе, а для проверки через довкот нужно driver = dovecot.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Не получится, драйвер один. Делай как я описал, или думай ещё что.как сделать так, чтобы аутентификатор сначала пробовал проверить пароль в mysql, а потом в идеале через dovecot
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Что-то я не всосал суть проблемы. Что мешает прописать в довекоте пачку user и pass db с разными драйверами, один для ldap, другой для sql? А экзим авторизацию пущай смотрит через dovecot. У мну раункуб успешно отправляет и показывает письма с имапа, ноу проблемс. В довекоте сконфигурирована авторизация в ldap и passwd-file. Что вам мешает сделать ldap + sql? Довекот как раз будет поочередно проверять все user и pass базы.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Ну он уже отвечал мне так:CrazyPilot писал(а):Что-то я не всосал суть проблемы. Что мешает прописать в довекоте пачку user и pass db с разными драйверами, один для ldap, другой для sql? А экзим авторизацию пущай смотрит через dovecot. У мну раункуб успешно отправляет и показывает письма с имапа, ноу проблемс. В довекоте сконфигурирована авторизация в ldap и passwd-file. Что вам мешает сделать ldap + sql? Довекот как раз будет поочередно проверять все user и pass базы.
Ага, а сам я не догадался думаете ? У довкота есть определенные проблемы с некоторыми клиентами, поэтому через него не пойдет.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Если некоторые клиенты - роундкуб, то виноваты руки, а не довекот
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Я вообщето не спрашивал, чего где и почему виновато, я задал конкретный вопрос, и пока вижу тут только куча флуда.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Ну а что вы хотите я не пойму никак?
Обычно подключается почтовый клиент к серверу и сервер ему отвечает:или вы думаете такое бывает:И какой из них должен выбрать ваш почтовый клиент для аутетнтификации? У вас мысли логические, но компьютеру на логику пох.
Почитайте какие-нибудь RFC и т.п. документы, думаю прозрение наступит. А флудить, что вас что-то не устраивает - это к вам самим. Делать надо иногда, а не думать.
Обычно подключается почтовый клиент к серверу и сервер ему отвечает:
Код: Выделить всё
Могу мол AUTH PLAIN LOGIN.
Код: Выделить всё
AUTH PLAIN PLAIN PLAIN PLAIN
Почитайте какие-нибудь RFC и т.п. документы, думаю прозрение наступит. А флудить, что вас что-то не устраивает - это к вам самим. Делать надо иногда, а не думать.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Я хочу, чтобы эксим проводил аутентификацию как это делает dovecot - по очереди перебирает все доступные ему базы паролей.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Сделайте, что не получается? Напишите условие.neyro писал(а):Я хочу, чтобы эксим проводил аутентификацию как это делает dovecot - по очереди перебирает все доступные ему базы паролей.
1. Сообщите, что вы хотите и на что вы не получили ответ/совет?
2. Сообщите, что у вас не получается.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Что тут может быть непонятного ?neyro писал(а):Вопрос в другом - как сделать так, чтобы аутентификатор сначала пробовал проверить пароль в mysql, а потом в идеале через dovecot -в данный момент совместить это нельзя т.к. в случае mysql параметр driver = plaintext в аутентификаторе, а для проверки через довкот нужно driver = dovecot.
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
вы хоть что-нибудь написали?dikens3 писал(а):Сделайте, что не получается? Напишите условие.
или ждёте пока за вас напишут?
Убей их всех! Бог потом рассортирует...
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Вы мои посты не читате в принципе и общаетесь сами с собой?neyro писал(а):Что тут может быть непонятного ?neyro писал(а):Вопрос в другом - как сделать так, чтобы аутентификатор сначала пробовал проверить пароль в mysql, а потом в идеале через dovecot -в данный момент совместить это нельзя т.к. в случае mysql параметр driver = plaintext в аутентификаторе, а для проверки через довкот нужно driver = dovecot.
Ответ я вам ещё раз продублирую:
Тебе нужно совместить 2-е проверки в одном условии.
1. Написать проверку в mysql (переписать из dovecot и оттестировать)
Кстати, когда я не знал что можно через dovecot, писал сам запрос к mysql. Потом нашёл аутентификатор и сделал через него, чтобы не дублировать.
2. Написать проверку в AD.
3. Совместить 1 и 2 в одном запросе.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Ну как сказать , бывают и такие умники, равно как и те, которые придумали кириллические доменыneyro писал(а): п.с. про имена кириллицей это Вы конечно загнули...такой жести уж точно никто делать не будет
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovecot
Вот чего пишет эксим при попытке аутентификации через любой веб интерфейс. В этом основная проблема.exim[28208]: dovecot_login authenticator failed for (xxx.ru) [127.0.0.1] I=[127.0.0.1]:25: 435 Unable to authenticate at present: authentication socket protocol error
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Exim, несколько одинаковых аутентификаторов, как в dovec
Добрый день. Пытаюсь сделать примерно такую конструкцию по поиску сначала в БД mysql, затем в LDAP.
Каждый по отдельности аутентификатор работает и авторизует соот. юзеров.
В дебаге видно
Хотя по количеству скобок все совпадает. Есть подозрение, что ldapauth возвращает true/false, а в выражении or/and должна использоваться строка.
Если есть какие-либо идеи - welcome.
Каждый по отдельности аутентификатор работает и авторизует соот. юзеров.
Код: Выделить всё
plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if or \
{\
{crypteq{$3} {${lookup mysql{SELECT crypt FROM users \
WHERE id = '${quote_mysql:${local_part:$2}}' \
AND passwd = '${quote_mysql:$3}' \
AND active = 'Y'}{$value}{*}}}{yes}{no}}\
{ldapauth {user=${quote_ldap:${lookup ldapdn {user=LDAP_AD_BINDDN pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE??sub?\
(&(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=${quote_ldap:$auth2}))}{$value}fail}} \
pass=${quote_ldap:$auth3} connect=5 ldap:///}{yes}{no}} \
} \
}
server_prompts = :
server_set_id = $2
В дебаге видно
Код: Выделить всё
${if or {{crypteq{$3} {${lookup mysql{SELECT crypt FROM users WHERE id = '${quote_mysql:${local_part:$2}}' AND passwd = '${quote_mysql:$3}' AND active = 'Y'}{$value}{*}}}{yes}{no}}{ldapauth {user=${quote_ldap:${lookup ldapdn {user=${quote_ldap:CN=exim,CN=Users,****} pass=*** ldap:///DC=Do***??sub?(&(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=${quote_ldap:$auth2}))}{$value}fail}} pass=${quote_ldap:$auth3} connect=5 ldap:///}{yes}{no}} } }
error message: missing } at end of condition inside "or" group
expansion failed: missing } at end of condition inside "or" group
Если есть какие-либо идеи - welcome.