exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Здравствуйте.
Настроил Exim + dovecot по статье с этого сайта, всё замечательно работает. Но есть одна проблема. В нашей организации около 20 почтовых доменов, и у одного пользователя AD могут быть почтовые ящики во всех этих доменах. Чтобы проще было всё это администрировать решили заносить их в поле e-mail с каким-либо разделителем.
Вопросы:
1. Какой лучше использовать разделитель.
2. Что необходимо изменить в конфигурациях exim'а и dovecot'а, чтобы они правильно обрабатывали это поле.
Заранее, спасибо.
Настроил Exim + dovecot по статье с этого сайта, всё замечательно работает. Но есть одна проблема. В нашей организации около 20 почтовых доменов, и у одного пользователя AD могут быть почтовые ящики во всех этих доменах. Чтобы проще было всё это администрировать решили заносить их в поле e-mail с каким-либо разделителем.
Вопросы:
1. Какой лучше использовать разделитель.
2. Что необходимо изменить в конфигурациях exim'а и dovecot'а, чтобы они правильно обрабатывали это поле.
Заранее, спасибо.
Услуги хостинговой компании 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/
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Я поторопился, AD проверяет правильность ввода e-mail адреса в поле mail, т.е. придется еще и модифицировать схему AD.kdesys писал(а):Чтобы проще было всё это администрировать решили заносить их в поле e-mail с каким-либо разделителем.
Вопросы:
1. Какой лучше использовать разделитель.
Посоветуйте пожалуйста как быть в такой ситуации?
P.S. И еще, хотелось бы, чтобы при удалении юзера из AD, также прибивались все его папки в /var/mail/
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
1. не стоит.
2. скриптом. но не прибивать а двигать куданить и потом удалять. а то прибьёт не то, или чухнуться что нужно
2. скриптом. но не прибивать а двигать куданить и потом удалять. а то прибьёт не то, или чухнуться что нужно
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Что значит не стоит? А какие варианты то?lissyara писал(а):1. не стоит.
Есть наработки? Честно говоря даже не знаю куда копать.lissyara писал(а): 2. скриптом. но не прибивать а двигать куданить и потом удалять. а то прибьёт не то, или чухнуться что нужно
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Значит так:
В AD есть атрибут otherMailbox, он в отличии от mail многозначный, поэтому в него можно внести несколько почтовых адресов.
Я перенастроил exim на выполнение запросов из этого атрибута, и всё работает отлично.
Но, dovecot работать не хочет, т.к. при выполнении запроса по параметру user_attrs=otherMailbox=home=/var/mail/%$, ему возвращается значение этого многозначного атрибута в виде bla@mydomain.local;bla-bla@otherdomain.local;bla3@newdomain.ru.
И он начинает ругаться, что не может создать такую папку. Естественно такая папка нам и не нужна, а нужна та, с учетными данными которой залогинился юзер.
Подскажите пожалуйста подробно, как изменить user_attrs=, чтобы dovecot правильно обрабатывал эту строку.
В AD есть атрибут otherMailbox, он в отличии от mail многозначный, поэтому в него можно внести несколько почтовых адресов.
Я перенастроил exim на выполнение запросов из этого атрибута, и всё работает отлично.
Но, dovecot работать не хочет, т.к. при выполнении запроса по параметру user_attrs=otherMailbox=home=/var/mail/%$, ему возвращается значение этого многозначного атрибута в виде bla@mydomain.local;bla-bla@otherdomain.local;bla3@newdomain.ru.
И он начинает ругаться, что не может создать такую папку. Естественно такая папка нам и не нужна, а нужна та, с учетными данными которой залогинился юзер.
Подскажите пожалуйста подробно, как изменить user_attrs=, чтобы dovecot правильно обрабатывал эту строку.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Как я понимаю, нужно сделать следующим образом:
1. В почтовом клиенте указывать в поле логин, его почтовый ящик.
2. Ящик ищется dovecot`ом в AD.
3. Находится у определенного юзера, затем у этого юзера вытаскивается sAMAccountName.
4. Юзер авторизуется.
Как реализовать? Помогите пожалуйста.
1. В почтовом клиенте указывать в поле логин, его почтовый ящик.
2. Ящик ищется dovecot`ом в AD.
3. Находится у определенного юзера, затем у этого юзера вытаскивается sAMAccountName.
4. Юзер авторизуется.
Как реализовать? Помогите пожалуйста.
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
писать свой внеший аутентифкатор...
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Ok, направьте пожалуйста на путь истинный с чего начать? куда смотреть? какие доки курить?lissyara писал(а):писать свой внеший аутентифкатор...
Также интересует алгоритм аутентификации в dovecot.
Смотрим dovecot-ldap.conf:
В комментах написано, что user_filter используется для поиска пользователя.
Расшифруйте пожалуйста следующую строку и какое значение она возвращает dovecot'у:
Код: Выделить всё
user_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%u))
Теперь строка user_attrs:
Код: Выделить всё
user_attrs=mail=home=/var/mail/%$
Ну не доходит что-то до меня алгоритм работы dovecot + ldap. wiki уже курил, но всёравно пока не могу понять.
Последний раз редактировалось Alex Keda 2008-09-04 22:52:51, всего редактировалось 1 раз.
Причина: [code][/code] - для кого?
Причина: [code][/code] - для кого?
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Значит так, получилось сделать аутентификацию пользователя с разными почтовыми доменами, но с одним и тем же именем, т.е. в домене AD есть пользователь bla, у него в атрибуте otherMailbox имеются записи bla@mydomail.ru;bla@myotherdomain.ru;bla2@mydomain.ru
Так вот, аутентификация работает только для двух первых почтовых ящиков, что видно из настроек dovecot-ldap.conf:
в качестве имени пользователя в MUA ввожу его email, например bla@myotherdomain. Всё работает нормально.
делаю:
не работает, почему?
Так вот, аутентификация работает только для двух первых почтовых ящиков, что видно из настроек dovecot-ldap.conf:
Код: Выделить всё
user_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%n))
pass_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%n))
делаю:
Код: Выделить всё
user_filter = (&(objectClass=organizationalPerson)(!(objectClass=computer))(otherMailbox=%u))
pass_filter = (&(objectClass=organizationalPerson)(!(objectClass=computer))(otherMailbox=%u))
Последний раз редактировалось Alex Keda 2008-09-04 22:52:32, всего редактировалось 1 раз.
Причина: [code][/code] - для кого?
Причина: [code][/code] - для кого?
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Подскажите, как заставить dovecot deliver доставлять почту в определенную папку, указанную в качестве параметра в строке запуска deliver'а?
Например, вот это не работает:
Например, вот это не работает:
Код: Выделить всё
dovecot_delivery:
driver = pipe
delivery_date_add
envelope_to_add
return_path_add
check_string = ""
debug_print = yes
command=/usr/local/libexec/dovecot/deliver -m /var/mail/blablabla
user = mailnull
group = mail
message_prefix = ""
message_suffix = ""
log_output
Последний раз редактировалось Alex Keda 2008-09-18 11:20:48, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Код: Выделить всё
dovecot_spam_delivery:
driver = pipe
command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m SPAM
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = mailnull
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Дело в другом:lissyara писал(а):а у меня такое работает.Код: Выделить всё
dovecot_spam_delivery: driver = pipe command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m SPAM message_prefix = message_suffix = delivery_date_add envelope_to_add return_path_add log_output user = mailnull
У меня юзеры авторизуются так: в поле Имя пользователя вводят bla@domain.ru
вот вырезки из dovecot.conf:
Код: Выделить всё
mail_location = maildir:%h
auth_username_format = %Lu
passdb ldap { args = /usr/local/etc/dovecot-ldap.conf }
userdb ldap { args = /usr/local/etc/dovecot-ldap.conf }
Код: Выделить всё
user_attrs=sAMAccountName=home=/var/mail/%$@%d
user_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%n))
pass_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%n))
Всё чудесно, но! Когда запускается deliver с параметрами deliver -d {$localpart} он кладет всё в "/var/log/bla@". Как ему сказать, чтобы он положил в bla@domain.ru?
Что мне изменить в настройках?
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
ну так передавай полный адрес
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Прошу прощения, сам ступил, сейчас всё раскладывается нормально.kdesys писал(а):Как ему сказать, чтобы он положил в bla@domain.ru? Что мне изменить в настройках?
Теперь у меня стоит еще одна задача. Это решить вопрос с аутентификацией. Т.к. логин в домене у юзера один (например, Ivanov_II), а e-mail`ов может быть много и с разными именами (например, Ivanov_II@domain.ru, ivan@domain2.ru, ivanov@domain3.ru), и все они записаны в поле otherMailbox юзера Ivanov_II, нужно, чтобы dovecot авторизовал всё это через реальный юзерский логин, несмотря на то, что ему в поле Имя пользователя говорят Ivanov_II@domain.ru или ivan@domain2.ru или ivanov@domain3.ru.
Слегка запутано, но с помощью CrazyPilot'a родился вот такой скрипт:
Код: Выделить всё
#!/usr/bin/perl
use Net::LDAP;
sub superscript {
my $ldap_boss = Net::LDAP->new('domain.ru') or die "$@";
$mesg_boss = $ldap_boss ->bind('cn=ldapauth,cn=Users,dc=domain,dc=ru',password => '12345678');
$mesg_boss = $ldap_boss->search(filter=>"(&(objectClass=user)
(!(objectClass=computer))
(otherMailbox=*)
(sAMAccountName=*))",
base=>"dc=domain,dc=ru",
scope =>'sub',
attrs=>['otherMailbox','sAMAccountName']);
$email = $_[0];
@entries_boss = $mesg_boss->entries;
foreach $boss_entry (@entries_boss) {
my @boss_account_male1 = $boss_entry->get_value("sAMAccountName");
my @boss_account_male = $boss_entry->get_value("otherMailbox")
;
foreach $user (@boss_account_male1){
foreach $mail (@boss_account_male){
if ($mail eq $email) {
$value = $email;
break;}
}
}
}
$ldap_boss->unbind();
return "$value";}
Код: Выделить всё
dovecot_delivery:
driver = pipe
delivery_date_add
envelope_to_add
return_path_add
check_string = ""
debug_print = yes
command=/usr/local/libexec/dovecot/deliver -d ${perl{superscript}{${local_part}@${domain}}}
user = mailnull
group = mail
message_prefix = ""
message_suffix = ""
log_output
А теперь внимание вопрос! Как заставить dovecot исполнять этот скрипт передавая ему в качестве параметра Имя пользователя (например, ivan@domain2.ru), затем забирая результат выполнения скрипта использовать этот результат в качестве имени для авторизации в домене?
О_о, круто завернул? :-)
P.S. В противном случае приходится заводить в домене дополнительных пользователей с именами ivan, ivanov и т.п., конечно запрещая им вход на компьютеры, но всёравно как-то криво получается.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Дорогие юниксоводы, помогите пожалуйста разобраться таки с этой проблемой.
Сейчас используется стандартная схема описанная в статье Lissyar`ы, один пользователь - один email.
Но очень уж некрасиво иметь в домене кучу пользователей не имеющих отношения к реально работающим, а заведенным только из-за того, что в их атрибутах прописаны нужные для работы email адреса.
Хочется чтобы было по-нормальному, т.е. у одного юзера в любом (выбранном нами, пусть это будет otherMailbox) многозначном атрибуте были прописаны его почтовые ящики.
Помогите реализовать, пожалуйста.
Сейчас используется стандартная схема описанная в статье Lissyar`ы, один пользователь - один email.
Но очень уж некрасиво иметь в домене кучу пользователей не имеющих отношения к реально работающим, а заведенным только из-за того, что в их атрибутах прописаны нужные для работы email адреса.
Хочется чтобы было по-нормальному, т.е. у одного юзера в любом (выбранном нами, пусть это будет otherMailbox) многозначном атрибуте были прописаны его почтовые ящики.
Помогите реализовать, пожалуйста.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-02 17:49:47
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле mail
Подскажите пожалуйста, какие доки курить. Раз Вы говорите, что можно прикрутить внешний аутентификатор, значит знаете как. Очень хотелось бы.lissyara писал(а):писать свой внеший аутентифкатор...
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2011-08-05 9:15:06
Re: exim + dovecot + AD + Несколько почтовых ящиков в поле m
Привет.
Да тема старовата, но проблема актуально.
За пару месяцев поиска, я пришёл к выводу что решения нету, использования многих почтовых доменах прописанных в атрибуте АД.
Postfix & Dovecot не могут работать. Что ж печально.
Да тема старовата, но проблема актуально.
За пару месяцев поиска, я пришёл к выводу что решения нету, использования многих почтовых доменах прописанных в атрибуте АД.
Postfix & Dovecot не могут работать. Что ж печально.