В почтовой системе настроен 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
Это вообще реализуемо? Как такое сделать?
Похоже понял в чём была проблема. В названии группы был пробел, например как тут 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
>
>
>Это вообще реализуемо? Как такое сделать?
Вообще смог заставить работать с группами с полным 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
>>
>>
>>Это вообще реализуемо? Как такое сделать?