URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87643
[ Назад ]

Исходное сообщение
"ldap_routing в Sendmail"

Отправлено SchTiRlic , 17-Дек-09 18:32 
В почтовой системе настроен ldap_routing, используется для проверки подлинности получателей в службе каталогов АД.  Если пользователь (или группа) существую в АД, то сообщение доставляется получателю, если нет, то сообщение отбрасывается.

В конифгурационном файле почтовой системы следующие строки
LDAPROUTE_DOMAIN_FILE(`/etc/mail/ldap_route_domains')dnl
FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k (&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce')dnl

Данноый механизм работает - условия в фильтре срабатывают и письма адресованные несуществующим пользователям отбрасываются.

Необходимо немного усложнить фильтр и добавить туда ещё одно условие, а именно проверить наличие пользователя в определёной группе. То есть есть группа, вкоторой находятся пользователи которым разрешено получать почтовые сообщения:
CN=Mailusers,CN=Users,DC=domain,DC=zone

Дописывают в фильтре условие, но почему то не работает:
FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k (&(|(objectclass=user)(objectclass=group))(memberOf=CN=Mailusers,CN=Users,DC=domain,DC=zone)(proxyAddresses=smtp:%0))',`bounce')dnl


Это вообще реализуемо? Как такое сделать?


Содержание

Сообщения в этом обсуждении
"ldap_routing в Sendmail"
Отправлено SchTiRlic , 18-Дек-09 10:23 
Похоже понял в чём была проблема. В названии группы был пробел, например как тут Mail users

Соотвественно установка ldap_routing выглядит так
FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k (&(|(objectclass=user)(objectclass=group))(memberOf=CN=Mail users,CN=Users,DC=domain,DC=zone)(proxyAddresses=smtp:%0))',`bounce')dnl

Когда пробел убрал, всё корректно отбработало. Теперь дургой вопрос, как экранировать пробелы в подобных случаях?

>[оверквотинг удален]
>Необходимо немного усложнить фильтр и добавить туда ещё одно условие, а именно
>проверить наличие пользователя в определёной группе. То есть есть группа, вкоторой
>находятся пользователи которым разрешено получать почтовые сообщения:
>CN=Mailusers,CN=Users,DC=domain,DC=zone
>
>Дописывают в фильтре условие, но почему то не работает:
>FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k (&(|(objectclass=user)(objectclass=group))(memberOf=CN=Mailusers,CN=Users,DC=domain,DC=zone)(proxyAddresses=smtp:%0))',`bounce')dnl
>
>
>Это вообще реализуемо? Как такое сделать?


"ldap_routing в Sendmail"
Отправлено SchTiRlic , 21-Дек-09 17:01 
Вообще смог заставить работать с группами с полным CN вида CN=Mail,CN=Users,DC=domain,DC=zone, но Sendmail никак не хочет работать с пробелами и русскими буквами. Может есть какая-нибудь надркутка для Sendmail'a решающая это? Или просто может есть у кого то какие то мысли?

>[оверквотинг удален]
>>Необходимо немного усложнить фильтр и добавить туда ещё одно условие, а именно
>>проверить наличие пользователя в определёной группе. То есть есть группа, вкоторой
>>находятся пользователи которым разрешено получать почтовые сообщения:
>>CN=Mailusers,CN=Users,DC=domain,DC=zone
>>
>>Дописывают в фильтре условие, но почему то не работает:
>>FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k (&(|(objectclass=user)(objectclass=group))(memberOf=CN=Mailusers,CN=Users,DC=domain,DC=zone)(proxyAddresses=smtp:%0))',`bounce')dnl
>>
>>
>>Это вообще реализуемо? Как такое сделать?