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

Исходное сообщение
"Exim и группа распространения AD"

Отправлено ka934 , 15-Дек-17 06:50 
Группа распространения AD имеет адрес эл.почты. Отправленное на этот адрес письмо получают все члены этой группы. Определил по адресу эл.почты, что это группа распространения AD. Получил список членов этой группы, который имеет вид:
result: CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Ivan I.Petrov,,CN=Users,,DC=domain,,DC=net,CN=Dmitry V. Sidorov,,CN=Users,,DC=domain,,DC=net
Как из этого списка получать запись каждого пользователя
Такую: CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net
чтобы определять адреса эл.почты

Содержание

Сообщения в этом обсуждении
"Exim и группа распространения AD"
Отправлено fantom , 15-Дек-17 08:59 
> Группа распространения AD имеет адрес эл.почты. Отправленное на этот адрес письмо получают
> все члены этой группы. Определил по адресу эл.почты, что это группа
> распространения AD. Получил список членов этой группы, который имеет вид:
> result: CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Ivan I.Petrov,,CN=Users,,DC=domain,,DC=net,CN=Dmitry
> V. Sidorov,,CN=Users,,DC=domain,,DC=net
> Как из этого списка получать запись каждого пользователя
> Такую: CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net
> чтобы определять адреса эл.почты

запрос по LDAP выбрать поле "mail" у участников группы "ГРУППА"...
что-то типа memberof=tra-ta-ta


"Exim и группа распространения AD"
Отправлено ka934 , 15-Дек-17 10:22 
Как выбрать поле mail кождого пользователя? На http://forum.lissyara.su нашел такое
data = ${sg{${map{<\n \
${sg\
{${lookup ldapm {user=LDAP_AD_BINDDN pass=LDAP_AD_PASS\
ldap:///LDAP_AD_BASE_DN?member?sub?(&(sAMAccountType=268435457)(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}{, } \
}

Результат, возвращаемый функцией ldapm - этот список. Exim в режиме оладки выдает такое:

.   814 \_____result: CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net
   .  814 |__expanding: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///${quote_ldapdn:$item}?mail?base?
   .  814 \_____result: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///CN%3DNatalia%20N.%20Ivanova%2C%2CCN%3DUsers%2C%2CDC%3Ddomain%2C%2CDC%3Dnet%2CCN%3DAlexey%20I.%20Petrov%2C%2CCN%3DUsers%2C%2CDC%3Ddomain%2C%2CDC%3Dnet%2CCN%3DIvan%2C%2CCN%3DUsers%2C%2CDC%3Ddomain%2C%2CDC%3Dnet?mail?base?
.............
  814 perform_ldap_search: ldap URL = "ldap:///CN%3DNatalia%20N.%20Ivanova%2C%2CCN%3DUsers%2C%2CDC%3Ddomain%2C%2CDC%3Dnet%2CCN%3DAlexey%20I.%20Petrov%2C%2CCN%3DUsers%2C%2CDC%3Ddomain%2C%2CDC%3Dnet%2CCN%3DIvan%2C%2CCN%3DUsers%2C%2CDC%3Ddomain%2C%2CDC%3Dnet?mail?base?" server=192.168.1.6 port=0 sizelimit=0 timelimit=0 tcplimit=0
  814 after ldap_url_parse: host=192.168.1.6 port=0
  814 re-using cached connection to LDAP server 192.168.1.6:389
  814 Start search
  814 search ended by ldap_result yielding 101
  814 ldap_parse_result: 0
  814 ldap_parse_result yielded 34: Invalid DN syntax
  814 lookup failure forced
  814 LDAP search failed - error 34: Invalid DN syntax/0000208F: NameErr: DSID-03100225, problem 2006 (BAD_NAME), data 8350, best match of:
  814   'CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net'
  814
  814 lookup failed



"Exim и группа распространения AD"
Отправлено ka934 , 15-Дек-17 11:03 
Получается, что поиск атрибута mail ведется по этой строке
perform_ldap_search: ldap URL = "ldap:///CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net?mail?base?"

И ничего не находится
855 /considering: ${lookup ldap{user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///$item?mail?base?}}}}}{\N\n\N}{, }}
   .  855 /considering: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///$item?mail?base?}}}}}{\N\n\N}{, }}
   .  855 |__expanding: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///$item?mail?base?
   .  855 \_____result: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net?mail?base?
  855 search_open: ldap "NULL"
  855 search_find: file="NULL"

855 perform_ldap_search: ldap URL = "ldap:///CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net?mail?base?" server=192.168.1.6 port=0 sizelimit=0 timelimit=0 tcplimit=0
  855 after ldap_url_parse: host=192.168.1.6 port=0
  855 re-using cached connection to LDAP server 192.168.1.6:389
  855 Start search
  855 search ended by ldap_result yielding 101
  855 ldap_parse_result: 0
  855 ldap_parse_result yielded 34: Invalid DN syntax
  855 lookup failure forced
  855 LDAP search failed - error 34: Invalid DN syntax/0000208F: NameErr: DSID-03100225, problem 2006 (BAD_NAME), data 8350, best match of:
  855   'CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net'
  855
  855 lookup failed


"Exim и группа распространения AD"
Отправлено ka934 , 15-Дек-17 11:25 
Получается, что поиск атрибута mail ведется по этой строке
perform_ldap_search: ldap URL = "ldap:///CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net?mail?base?"

И ничего не находится

855 /considering: ${lookup ldap{user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///$item?mail?base?}}}}}{\N\n\N}{, }}
   .  855 /considering: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///$item?mail?base?}}}}}{\N\n\N}{, }}
   .  855 |__expanding: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///$item?mail?base?
   .  855 \_____result: user=cn=vmail,cn=Users,dc=domain,dc=net pass=123456 ldap:///CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net?mail?base?
  855 search_open: ldap "NULL"
  855 search_find: file="NULL"

855 perform_ldap_search: ldap URL = "ldap:///CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net?mail?base?" server=192.168.1.6 port=0 sizelimit=0 timelimit=0 tcplimit=0
  855 after ldap_url_parse: host=192.168.1.6 port=0
  855 re-using cached connection to LDAP server 192.168.1.6:389
  855 Start search
  855 search ended by ldap_result yielding 101
  855 ldap_parse_result: 0
  855 ldap_parse_result yielded 34: Invalid DN syntax
  855 lookup failure forced
  855 LDAP search failed - error 34: Invalid DN syntax/0000208F: NameErr: DSID-03100225, problem 2006 (BAD_NAME), data 8350, best match of:
  855   'CN=Natalia N. Ivanova,,CN=Users,,DC=domain,,DC=net,CN=Alexey I. Petrov,,CN=Users,,DC=domain,,DC=net,CN=Ivan,,CN=Users,,DC=domain,,DC=net'
  855
  855 lookup failed


"Exim и группа распространения AD"
Отправлено ka934 , 15-Дек-17 13:55 
Сам и решил. Нужно было привести полученный список членов группы распространения к виду
CN=Natalia N. Ivanova,CN=Users,DC=domain,DC=net\nCN=Alexey I. Petrov,CN=Users,DC=domain,DC=net\nCN=Ivan,CN=Users,DC=domain,DC=net
Для этого применить еще функцию sg, и преобразованный список подавать на функцию map