Страница 1 из 1
Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 14:10:30
mailo
Задача: В АД есть группы, у группы есть email адрес. каждой группе принадлежат какие то пользователи у которых то же есть email.
На данный момент работает просто поиск пользователя в АД и авторизация. Необходимо если приходит письмо группу рассылки скажем
group@domain.ru
что бы exim это смотрел в АД и ага это группа, и вытягивал из АД всех мэйлы пользователей которые в группе и отправлял им письмо.
Пока все что получилось сделать это что бы exim вообще увидел группу, но он не воспринимает это как группу а просто как почтовый адрес.
Помоги победить.
Код: Выделить всё
#LDAP
ldap_default_servers = <; ad-server.local:3268
LDAP_AD_BINDDN = "CN=exim,CN=Users,DC=domain,DC=ru"
LDAP_AD_PASS = "*****"
LDAP_AD_BASE_DN = "DC=domain,DC=ru"
RCPT Macros
LDAP_AD_MAIL_RCPT =\
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///DC=domain,DC=ru?mail?sub?\
(&\
(objectCategory=person)(objectClass=user)\
(!(UserAccountControl:1.2.840.113556.1.4.803:=2))\
(mail=${quote_ldap:${local_part}@${domain}}))
ad_check:
driver = redirect
domains = +local_domains
allow_fail
allow_defer
data = ${lookup ldap {LDAP_AD_MAIL_RCPT}\
{${local_part}@${domain}} {:fail: User unknown}}
redirect_router = local_ad_user
local_ad_user:
driver = accept
transport = local_ad_delivery
cannot_route_message = Unknown user
local_ad_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
maildir_format
create_directory
directory = /var/mail/$local_part@$domain
directory_mode = 0770
group = mail
user = mail
mode = 0640
no_mode_fail_narrower
Вот собственно на этом и работает сейчас. А как допинать группы?
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 15:45:42
blade_007
Условие (condition) - писать на общий адрес группы будут ТОЛЬКО те, IP-адрес которых в списке allow_auth_hosts ИЛИ если в поле "Описание" группы распространения есть слово
public.
Код: Выделить всё
adsi_group_check:
driver = redirect
domains = +local_domains
allow_defer
condition = \
${if or{ \
{ eq {${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?description?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}}}{public}}\
{match_ip{$sender_host_address}{iplsearch;/etc/exim/allow_auth_hosts}}\
}\
}
data = ${sg{${map {<\n \
${sg{${lookup ldapm { \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?member?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}}}{\N, \N}{\n}}} \
{${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///${quote_ldapdn:$item}?mail?base?}} \
}}}{\N\n\N}{, } \
}
redirect_router = ldapuser
Файл allow_auth_hosts
Код: Выделить всё
$ cat allow_auth_hosts
#10.0.0.0/8
#10.1.16.119/32
172.16.0.0/12
192.168.0.0/24
127.0.0.0/8
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 15:52:03
blade_007
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 16:11:39
mailo
ну мне ограничения пока не нужны поэтмоу я выкосил вот эти 2 строчки
Код: Выделить всё
}}}{public}}\
{match_ip{$sender_host_address}{iplsearch;/etc/exim/allow_auth_hosts}}\
можешь показать что у тебя в
пробую отправить письмо на группу, говорит что нет такого ящика
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 16:34:48
mailo
Вот почти весь конфиг. что не так ? (
Код: Выделить всё
smtp_accept_max = 100
ldap_default_servers = <; server.local:3268 ; server2.local:3268
LDAP_AD_BINDDN = "CN=exim,CN=Users,DC=domain,DC=ru"
LDAP_AD_PASS = "123123"
LDAP_AD_BASE_DN = "DC=domain,DC=ru"
LDAP_AD_MAIL_RCPT =\
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///DC=domain,DC=ru?mail?sub?\
(&\
(objectCategory=person)\
(objectClass=user)\
(!(UserAccountControl:1.2.840.113556.1.4.803:=2))\
(mail=${quote_ldap:${local_part}@${domain}}))
domainlist local_domains = lsearch;/etc/exim/localdomains
domainlist relay_to_domains = lsearch;/etc/exim/relaydomains
hostlist relay_from_hosts = 127.0.0.1 : 10.1.0.0/24
acl_smtp_helo = acl_check_helo
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
daemon_smtp_ports = 25
local_interfaces = 0.0.0.0
qualify_domain = mxs1.domain.ru
allow_domain_literals = false
never_users = root
host_lookup = !+relay_from_hosts
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 45m
timeout_frozen_after = 1d
begin acl
acl_check_helo:
вырезал
acl_check_rcpt:
вырезал
acl_check_data:
вырезал
acl_check_mime:
begin routers
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = mail
group = mail
file_transport = address_file
pipe_transport = address_pipe
per_domain_aliases:
driver = redirect
allow_fail
allow_defer
condition = ${if exists{/etc/exim/aliases/$domain} {yes} {no}}
data = ${lookup{$local_part}lsearch{/etc/exim/aliases/$domain}}
file_transport = address_file
pipe_transport = address_pipe
groups:
driver = redirect
allow_fail
allow_defer
condition = ${if exists{/etc/exim/groups/$local_part@$domain} {yes} {no} }
file = /etc/exim/groups/$local_part@$domain
file_transport = address_file
pipe_transport = address_pipe
no_more
userforward:
driver = redirect
user = mail
file = /var/mail/$local_part@$domain/.forward
no_verify
no_expn
check_ancestor
allow_filter
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
directory_transport = local_ad_delivery
condition = ${if exists{/var/mail/$local_part@$domain/.forward} {yes} {no} }
ad_check:
driver = redirect
domains = +local_domains
allow_fail
allow_defer
# forbid_file
# forbid_pipe
data = ${lookup ldap {LDAP_AD_MAIL_RCPT}\
{${local_part}@${domain}} {:fail: User unknown}}
redirect_router = local_ad_user
adsi_group_check:
driver = redirect
domains = +local_domains
allow_defer
condition = \
${if or{ \
{ eq {${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?description?sub?\
(&\
(objectClass=group)\
(grouptype=2)\ # почему тип группы 2 ?
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}\
}
data = ${sg{${map {<\n \
${sg{${lookup ldapm { \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?member?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}}}{\N, \N}{\n}}} \
{${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///${quote_ldapdn:$item}?mail?base?}} \
}}}{\N\n\N}{, } \
}
redirect_router = ldapuser
local_ad_user:
driver = accept
transport = local_ad_delivery
cannot_route_message = Unknown user
ldapuser:
driver = accept
condition = ${if !eq{}{${lookup ldapdn{LDAP_AD_RCPT}}}{yes}{no}}
transport = local_ad_delivery
localuser:
driver = accept
#check_local_user
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/passwd} {yes} {no} }
transport = local_delivery
cannot_route_message = Unknown user
begin transports
remote_smtp:
driver = smtp
local_ad_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
maildir_format
create_directory
directory = /var/mail/$local_part@$domain
directory_mode = 0770
group = mail
user = mail
mode = 0640
no_mode_fail_narrower
local_delivery:
driver = appendfile
directory = /var/mail/$local_part@$domain
maildir_format
delivery_date_add
envelope_to_add
return_path_add
mode_fail_narrower = false
mode = 0640
directory_mode = 0750
user = mail
group = mail
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
PLAIN:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$2}{$3}}{1}{0}}
server_set_id = $2
LOGIN:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${if saslauthd{{$1}{$2}}{1}{0}}
server_set_id = $1
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 16:44:07
blade_007
1. тип группы=2 потому как это группа распространения а не безопасности
2. если убрали ограничения - уберите и or в условии
Код: Выделить всё
condition = \
${if eq {${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?description?sub?\
(&\
(objectClass=group)\
(grouptype=2)\ # почему тип группы 2 ?
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}\
}}}
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 17:28:19
mailo
Сейчас вот так выглядит, но проблема таже , не видит группы, просто пользователей видит. может этот запрос да же не отрабатывает, можете глянуть правильно в роутерах и транспортах у меня?
Код: Выделить всё
ldap_default_servers = <; server:3268
LDAP_AD_BINDDN = "CN=exim,CN=Users,DC=domain,DC=local"
LDAP_AD_PASS = "****"
LDAP_AD_BASE_DN = "DC=domain,DC=local"
LDAP_AD_MAIL_RCPT =\
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///DC=domain,DC=local?mail?sub?\
(&\
(objectCategory=person)\
(objectClass=user)\
(!(UserAccountControl:1.2.840.113556.1.4.803:=2))\
(mail=${quote_ldap:${local_part}@${domain}}))
domainlist local_domains = lsearch;/etc/exim/localdomains
domainlist relay_to_domains = lsearch;/etc/exim/relaydomains
hostlist relay_from_hosts = 127.0.0.1 : 10.1.0.0/24
acl_smtp_helo = acl_check_helo
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
daemon_smtp_ports = 25
local_interfaces = 0.0.0.0
qualify_domain = mxs1.domain.local
allow_domain_literals = false
never_users = root
host_lookup = !+relay_from_hosts
rfc1413_hosts = *
rfc1413_query_timeout = 0s
sender_unqualified_hosts =
recipient_unqualified_hosts =
ignore_bounce_errors_after = 45m
timeout_frozen_after = 1d
begin acl
acl_check_helo:
accept
acl_check_rcpt:
accept
acl_check_data:
accept
begin routers
black_hole:
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = mail
group = mail
file_transport = address_file
pipe_transport = address_pipe
per_domain_aliases:
driver = redirect
allow_fail
allow_defer
condition = ${if exists{/etc/exim/aliases/$domain} {yes} {no}}
data = ${lookup{$local_part}lsearch{/etc/exim/aliases/$domain}}
file_transport = address_file
pipe_transport = address_pipe
groups:
driver = redirect
allow_fail
allow_defer
condition = ${if exists{/etc/exim/groups/$local_part@$domain} {yes} {no} }
file = /etc/exim/groups/$local_part@$domain
file_transport = address_file
pipe_transport = address_pipe
no_more
userforward:
driver = redirect
user = mail
file = /var/mail/$local_part@$domain/.forward
no_verify
no_expn
check_ancestor
allow_filter
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
directory_transport = local_ad_delivery
condition = ${if exists{/var/mail/$local_part@$domain/.forward} {yes} {no} }
ad_check:
driver = redirect
domains = +local_domains
allow_fail
allow_defer
# forbid_file
# forbid_pipe
data = ${lookup ldap {LDAP_AD_MAIL_RCPT}\
{${local_part}@${domain}} {:fail: User unknown}}
redirect_router = local_ad_user
adsi_group_check:
driver = redirect
domains = +local_domains
allow_defer
condition = \
${if eq {${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?description?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}\
}
data = ${sg{${map {<\n \
${sg{${lookup ldapm { \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?member?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}}}{\N, \N}{\n}}} \
{${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///${quote_ldapdn:$item}?mail?base?}} \
}}}{\N\n\N}{, } \
}
redirect_router = ldapuser
local_ad_user:
driver = accept
transport = local_ad_delivery
cannot_route_message = Unknown user
ldapuser:
driver = accept
condition = ${if !eq{}{${lookup ldapdn{LDAP_AD_RCPT}}}{yes}{no}}
transport = local_ad_delivery
localuser:
driver = accept
#check_local_user
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/passwd} {yes} {no} }
transport = local_delivery
cannot_route_message = Unknown user
begin transports
remote_smtp:
driver = smtp
local_ad_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
maildir_format
create_directory
directory = /var/mail/$local_part@$domain
directory_mode = 0770
group = mail
user = mail
mode = 0640
no_mode_fail_narrower
local_delivery:
driver = appendfile
directory = /var/mail/$local_part@$domain
maildir_format
delivery_date_add
envelope_to_add
return_path_add
mode_fail_narrower = false
mode = 0640
directory_mode = 0750
user = mail
group = mail
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
PLAIN:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$2}{$3}}{1}{0}}
server_set_id = $2
LOGIN:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${if saslauthd{{$1}{$2}}{1}{0}}
server_set_id = $1
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 17:35:21
blade_007
См. еще раз предыдущий мой пост - перепроверьте число закрывающих скобок в condition.
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 17:57:46
mailo
проверил добавил, теперь в лог арет
failed to expand condition "${if {eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}}" for ad_check router: condition name expected, but found "{eq {${lookup ld"
2011-07-01 18:54:54 failed to expand condition "${if {eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}}" for ad_check router: condition name expected, but found "{eq {${lookup ld"
2011-07-01 18:54:54 1Qcf7O-0001UR-Pl <=
test@domain.local H=([10.1.10.13]) [10.1.10.13] P=esmtp S=468 id=1309532085.4421.4.camel@mail-HP
2011-07-01 18:54:54 1Qcf7O-0001UR-Pl failed to expand condition "${if {eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}}" for ad_check router: condition name expected, but found "{eq {${lookup ld"
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:04:17
blade_007
По моему лишняя { в ${if {eq {${lookup *** т.е. должно быть ${if ВОТ_ТУТ_УБРАТЬ eq {${lookup**
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:16:27
mailo
поменял все равно.
failed to expand condition "${if eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}" for ad_check router: missing } at end of string
Код: Выделить всё
ad_check:
driver = redirect
domains = +local_domains
allow_defer
condition = \
${if eq {${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?description?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}\
} #здесь пробовал ставить 2 и 3 не помогло
data = ${sg{${map {<\n \
${sg{${lookup ldapm { \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?member?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}}}{\N, \N}{\n}}} \
{${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///${quote_ldapdn:$item}?mail?base?}} \
}}}{\N\n\N}{, } \
}
redirect_router = local_ad_user
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:21:05
blade_007
Сообщение точно требует 2-х закрывающих скобок, тут я ничего не могу поделать.
Еще раз и снова попробуйте:
Код: Выделить всё
condition = \
${if eq {${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?description?sub?\
(&\
(objectClass=group)\
(grouptype=2)\ # почему тип группы 2 ?
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}\
}}}
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:28:27
mailo
Сделал все точно так как выше. data не трогал оставил как есть.
пишет
failed to expand condition "${if eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}}" for ad_check router: missing 2nd string in {} after "eq"
2011-07-01 19:26:11 failed to expand condition "${if eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}}" for ad_check router: missing 2nd string in {} after "eq"
2011-07-01 19:26:11 1Qcfbf-0001YE-9H <=
test@domain.ru H=([10.1.10.13]) [10.1.10.13] P=esmtp S=471 id=1309533962.4421.14.camel@mail-HP
2011-07-01 19:26:11 1Qcfbf-0001YE-9H failed to expand condition "${if eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}}" for ad_check router: missing 2nd string in {} after "eq"
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:33:49
blade_007
Блин. Бездумное выкашивание было ошибкой. Оператор eq СРАВНИВАЕТ то что получил из ldap-каталога со с словом public.
Код: Выделить всё
${if eq {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123"
ldap:///LDAP_AD_BASE?description?sub?(&(objectClass=group)(grouptype=2)
(mail=${quote_ldap:${local_part}@${domain}}))}}{public}}}
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:37:18
mailo
а если мне не надо сравнивать а просто тупо смотреть все группы? тогда убрать if eq ?
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:39:59
blade_007
Если не надо сравнивать - убираете condition и все.
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:49:17
mailo
я вас уже наверное замучал.
оставил только data
011-07-01 19:46:52 H=([10.1.10.13]) [10.1.10.13] F=<
test@domain.ru> temporarily rejected RCPT <
it_dep@domain.ru>: failed to expand "${sg{${map {<\n ${sg{${lookup ldapm { user="CN=exim,CN=Users,DC=domain,DC=local" pass="123123" ldap:///LDAP_AD_BASE?member?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}{\N, \N}{\n}}} {${lookup ldap{ user="CN=exim,CN=Users,DC=domain,DC=local" pass="132123" ldap:///${quote_ldapdn:$item}?mail?base?}} }}}{\N\n\N}{, } }": "${map" is not a known operator (or a } is missing in a variable reference)
2011-07-01 19:46:52 no host name found for IP address 10.1.10.13
2011-07-01 19:46:52 H=([10.1.10.13]) [10.1.10.13] F=<
test@domain.ru> temporarily rejected RCPT <
it_dep@domain.ru>: failed to expand "${sg{${map {<\n ${sg{${lookup ldapm { user="CN=exim,CN=Users,DC=domain,DC=local" pass="123132" ldap:///LDAP_AD_BASE?member?sub?(&(objectClass=group)(grouptype=2)(mail=${quote_ldap:${local_part}@${domain}}))}}}{\N, \N}{\n}}} {${lookup ldap{ user="CN=exim,CN=Users,DC=doamin,DC=local" pass="132132" ldap:///${quote_ldapdn:$item}?mail?base?}} }}}{\N\n\N}{, } }": "${map" is not a known operator (or a } is missing in a variable reference)
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 18:51:49
mailo
Код: Выделить всё
ad_check:
driver = redirect
domains = +local_domains
allow_defer
data = ${sg{${map {<\n \
${sg{${lookup ldapm { \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?member?sub?\
(&\
(objectClass=group)\
(grouptype=2)\
(mail=${quote_ldap:${local_part}@${domain}})\
)\
}}}{\N, \N}{\n}}} \
{${lookup ldap{ \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///${quote_ldapdn:$item}?mail?base?}} \
}}}{\N\n\N}{, } \
}
redirect_router = local_ad_user
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 19:00:01
blade_007
Обновите версию exim. "map is not a known operator" - оператор map появился в версии 4.68(9) если мне не изменяет память.
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-01 23:21:23
mailo
Обновился до 4.76 все принимает, группу видит, но пользователей не цепляет. просто кидает письмо как простой почтовый ящик. ( чего не хватает?
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-02 18:42:47
blade_007
Тогда остается прогнать с дебагом. Группа в AD создана как группа распространения, напоминаю.
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-02 19:15:53
mailo
нет у меня как группа безопасности
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-02 19:36:19
mailo
нет у меня как группа безопасности, где можно глянуть какой номер у этой группы?
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-02 20:14:08
blade_007
Если сложно создать группу распространения - просто уберите
из data. Номер группы можно глянуть в браузере ldap.
Re: Exim + AD , а именно группы пользователей из АД
Добавлено: 2011-07-02 20:49:38
mailo
ЗАРАБОТАЛО!!!!! я прости совсем тупить стал, и глаза болят малость ) спасибо!!! ДЕло было да же не в id группы, в втом что смотриш в скрипт видишь фигу. Спасибо!