Exim+LDAP+Gosa

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Exim+LDAP+Gosa

Непрочитанное сообщение kapa6ac » 2007-09-19 11:08:38

Руководство поставило задачу перейти в виндузов на юникс (причина - лицензия).
Хотелось бы удобство а-ля АД, т.е. чтобы администь всё в одном месте. Поиски навели на GOSA (https://www.gosa-project.org). Все удобно, все в одном месте, наворотов тонна.
Поставил, настроил аутентификацию пользаков на рабочих станциях.
Возникл вопрос о почтовом серваке выбор пал на Exim. Делал по статье - http://www.lissyara.su/?id=1331.
Никак не выходит поиск пользаков. В логах вот такое счастье

Код: Выделить всё

2007-09-19 11:19:31 H=localhost.textiles.ru (localhost) [::1] sender verify defer for <bal@textiles.ru>: failed to expand "${lookup ldapm{user="cn=mail,ou=Pe
ople,dc=textiles,dc=ru" pass="cdjqcndj" ldap:///ou=People,dc=textiles,dc=ru?mail?sub(&(objectClass=gosaMailAccount)(gosaMailAlternateAddress=${quote_ldap:$lo
cal_part}${quote_ldap:@}${quote_ldap:$domain}))}": lookup of "user="cn=mail,ou=People,dc=textiles,dc=ru" pass="xxxxxxxx" ldap:///ou=People,dc=textiles,dc=ru?
mail?sub(&(objectClass=gosaMailAccount)(gosaMailAlternateAddress=bal%40textiles.ru))" gave DEFER: ldap_url_parse: (error 8) parsing "ldap:///ou=People,dc=textiles,dc=ru?mail?sub(&(objectClass=gosaMailAccount)(gosaMailAlternateAddress=bal%40textiles.ru))"

2007-09-19 11:19:31 H=localhost.textiles.ru (localhost) [::1] F=<bal@textiles.ru> temporarily rejected RCPT bal@textiles.ru: ldap_url_parse: (error 8) parsin
g "ldap:///ou=People,dc=textiles,dc=ru?mail?sub(&(objectClass=gosaMailAccount)(gosaMailAlternateAddress=bal%40textiles.ru))"

Нормального описалова структуры запроса из ексима к лдапу я не нашел. ((

Прошу помощи.
З.Ы. Тока камушками сильно не бросайтесь, я только начинаю в юникса въезжать

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim+LDAP+Gosa

Непрочитанное сообщение Alex Keda » 2007-09-19 11:58:47

честно гря непонял какое поле ты выбираешь...
а описалова, да,, нету помоему...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: Exim+LDAP+Gosa

Непрочитанное сообщение kapa6ac » 2007-09-19 12:21:32

незнаю, может быть поможет

Код: Выделить всё

# LDIF экспорт для: cn=Дмитрий Кадушкин,ou=people,dc=textiles,dc=ru
# Сгенерировано phpLDAPadmin September 19, 2007 1:20 pm
# Сервер: 197.197.197.8 (127.0.0.1)
# Область поиска: base
# Фильтр поиска: (objectClass=*)
# Всего записей: 1

dn:: Y2490JTQvNC40YLRgNC40Lkg0JrQsNC00YPRiNC60LjQvSxvdT1wZW9wbGUsZGM9dGV4dGl
 sZXMsZGM9cnU=
sn:: 0JrQsNC00YPRiNC60LjQvQ==
givenName:: 0JTQvNC40YLRgNC40Lk=
uid: info2site
gender: M
preferredLanguage: ru_RU
cn:: 0JTQvNC40YLRgNC40Lkg0JrQsNC00YPRiNC60LjQvQ==
homeDirectory: /home/info2site
loginShell: /bin/bash
uidNumber: 10002
gidNumber: 10002
shadowLastChange: 13774
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: gosaAccount
sambaLMPassword: E78174FF3CA4450173251AA2B4314B90
sambaNTPassword: 125C3A7A488145BA4BBC33E4B81C7C66
sambaPwdLastSet: 1190121292
sambaBadPasswordCount: 0
sambaBadPasswordTime: 0
userPassword: {CRYPT}8147/lw34pivU
Кусочек конфига

Код: Выделить всё

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 ldapm{LDAP_AUTH ldap:///ou=People,dc=textiles,dc=ru?mail?sub(&(objectClass=gosaMailAccount)\
        (gosaMailAlternateAddress=${quote_ldap:$local_part}$\
        {quote_ldap:@}${quote_ldap:$domain}))}
ldapuser:
    driver = accept
    condition = ${if eq{}{${lookup ldapdn{LDAP_AUTH \
                ldap:///ou=People,dc=textiles,dc=ru??sub?(&(objectClass=gosaMailAccount) \
                (mail=${quote_ldap:$local_part}${quote_ldap:@}$ \
                {quote_ldap:$domain}))}}}{no}{yes}}
    transport = ldap_delivery

============== сut ========================

remote_smtp:
  driver = smtp

ldap_delivery:
    driver = appendfile
    check_string = ""
    create_directory
    delivery_date_add
    directory = ${lookup ldap{LDAP_AUTH \
            ldap:///ou=People,dc=textiles,dc=ru?homeDirectory?sub? \
            (&(objectClass: gosaMailAccount) \
            mail=${quote_ldap:$local_part}${quote_ldap:@}$ \
            {quote_ldap:$domain}))}{/var/spool/mail/$value/Maildir/} }
    directory_mode = 770
    envelope_to_add
    maildir_use_size_file
    group = mail
    maildir_format
    maildir_tag = ,S=$message_size
    message_prefix = ""
    message_suffix = ""
    mode = 0600


quota = ${lookup ldap{LDAP_AUTH \
            ldap:///ou=People,dc=textiles,dc=ru?gosaMailQuota? \
            sub?(&(objectClass=gosaMailAccount) \
            (mail=${quote_ldap:$local_part}$ \
            {quote_ldap:@}${quote_ldap:$domain}))}{$value}fail}
    quota_warn_message = "\
    To: $local_part@$domain\n\
    From: postmaster@$domain\n\
    Subject: Your maildir is going full\n\
    This message is automaticaly gnerated by your mail server.\n\
    This means, that your mailbox is 80% full. If you would \n\
    override this limit new mail would not be delivered to you!\n\n\
    Please, clean your mailbox."
    quota_warn_threshold = 80%
    return_path_add



Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim+LDAP+Gosa

Непрочитанное сообщение Alex Keda » 2007-09-19 13:52:07

помоему ты не понимаешь что выбираешь.
смотри, вот кусок у тебя:

Код: Выделить всё

dc=ru?mail?sub
в y`v ты выбираешь поле с именем 'mail'
у тебя такого поля нет.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: Exim+LDAP+Gosa

Непрочитанное сообщение kapa6ac » 2007-09-19 14:02:48

черт. не тот пример привел, та учетка без почтового акка была.
вот правильный пример

Код: Выделить всё

# LDIF экспорт для: cn=Александр Балаклейский,ou=people,dc=textiles,dc=ru
# Сгенерировано phpLDAPadmin September 19, 2007 2:59 pm
# Сервер: 197.197.197.8 (127.0.0.1)
# Область поиска: base
# Фильтр поиска: (objectClass=*)
# Всего записей: 1

dn:: Y2490JDQu9C10LrRgdCw0L3QtNGAINCR0LDQu9Cw0LrQu9C10LnRgdC60LjQuSxvdT1wZW9
 wbGUsZGM9dGV4dGlsZXMsZGM9cnU=
sn:: 0JHQsNC70LDQutC70LXQudGB0LrQuNC5
givenName:: 0JDQu9C10LrRgdCw0L3QtNGA
uid: balakleyskiy
personalTitle: mr
cn:: 0JDQu9C10LrRgdCw0L3QtNGAINCR0LDQu9Cw0LrQu9C10LnRgdC60LjQuQ==
loginShell: /bin/bash
uidNumber: 10001
gidNumber: 10001
mail: bal@textiles.ru
gosaMailServer: exim
gosaMailQuota: 0
gosaMailDeliveryMode: [L]
gosaSpamSortLevel: 0
gosaSpamMailbox: INBOX
objectClass: gosaMailAccount
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: gosaAccount
shadowLastChange: 13774
sambaLMPassword: 6089B6316B3577C4944E2DF489A880E4
sambaNTPassword: 68365827D79C4F5CC9B52B688495FD51
sambaPwdLastSet: 1190095618
sambaBadPasswordCount: 0
sambaBadPasswordTime: 0
userPassword: {CRYPT}81MfPWcReFJ9I
homeDirectory: /home/balakleyskiy
gosaMailAlternateAddress: qwer@textiles.ru
тут целых два мыльника - mail: bal@textiles.ru и gosaMailAlternateAddress: qwer@textiles.ru, соответственно первый-основной, а второй как дополнительный. Как правильно писать,чтобы ексим понял их обоих?
Кстати, если учетка есть, но в ней не зарегистрировано почтовых ящиков, то ошибка будет?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim+LDAP+Gosa

Непрочитанное сообщение Alex Keda » 2007-09-19 15:08:17

да. будет ошибка.
а про лдап - я сам запросы со скрипом пишу :(
Убей их всех! Бог потом рассортирует...

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: Exim+LDAP+Gosa

Непрочитанное сообщение kapa6ac » 2007-09-19 15:31:10

А что за скрипт?
Можешь поделится?

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: Exim+LDAP+Gosa

Непрочитанное сообщение kapa6ac » 2007-09-19 15:40:38

кстати
в запросе

Код: Выделить всё

directory = ${lookup ldap{LDAP_AUTH \
            ldap:///ou=People,dc=textiles,dc=ru?homeDirectory?sub? \
            (&(objectClass: gosaMailAccount) \
            mail=${quote_ldap:$local_part}${quote_ldap:@}$ \
            {quote_ldap:$domain}))}{/var/spool/mail/$value/Maildir/} }
что означает "objectClass: gosaMailAccount"?
Насколько я понимаю, это нечто вроде критерия фильтра в поиске?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim+LDAP+Gosa

Непрочитанное сообщение Alex Keda » 2007-09-19 15:47:21

кстати, этот пункт пишется через равно...
и ещё - пиши зарпос без пробелов - они разрешены но в лдап воспринимаются как пробелы - не игнорируются и попадают в запрос.
потому как имеют право быть в ЛДАП
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim+LDAP+Gosa

Непрочитанное сообщение Alex Keda » 2007-09-19 15:49:33

и вообще - какая-то извращённая форма запроса с $value
напиши макрос и подставь в нуное место
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: Exim+LDAP+Gosa

Непрочитанное сообщение Гость » 2009-12-16 9:08:10

kapa6ac писал(а):кстати
в запросе

Код: Выделить всё

directory = ${lookup ldap{LDAP_AUTH \
            ldap:///ou=People,dc=textiles,dc=ru?homeDirectory?sub? \
            (&(objectClass: gosaMailAccount) \
            mail=${quote_ldap:$local_part}${quote_ldap:@}$ \
            {quote_ldap:$domain}))}{/var/spool/mail/$value/Maildir/} }
что означает "objectClass: gosaMailAccount"?
Насколько я понимаю, это нечто вроде критерия фильтра в поиске?
Подскажите пожалуйста вы ширили проблему или нет. Спасибо

Аватара пользователя
J.Korvin
сержант
Сообщения: 232
Зарегистрирован: 2008-11-22 12:03:41

Re: Exim+LDAP+Gosa

Непрочитанное сообщение J.Korvin » 2009-12-16 10:24:42

У меня аналогичная связка (EXIM + LDAP + GOSA) и вот такая ошибка куда копать не могу понять. Спасибо

Код: Выделить всё

Dec 16 07:13:01 ssa exim[15153]: auth_cram_md5 authenticator failed for ([192.168.23.101]) [192.168.23.101] I=[10.66.7.5]:25: 535 Incorrect authentication data (set_id=users)
Dec 16 07:13:01 ssa exim[15153]: auth_cram_md5 authenticator failed for ([192.168.23.101]) [192.168.23.101] I=[10.66.7.5]:25: 535 Incorrect authentication data (set_id=users)
Dec 16 07:13:01 ssa exim[15153]: auth_login authenticator failed for ([192.168.23.101]) [192.168.23.101] I=[10.66.7.5]:25: 535 Incorrect authentication data (set_id=users)
Dec 16 07:13:01 ssa exim[15153]: auth_login authenticator failed for ([192.168.23.101]) [192.168.23.101] I=[10.66.7.5]:25: 535 Incorrect authentication data (set_id=users)
Эсли ты с ножом значит ты с мясом.

Аватара пользователя
J.Korvin
сержант
Сообщения: 232
Зарегистрирован: 2008-11-22 12:03:41

Re: Exim+LDAP+Gosa

Непрочитанное сообщение J.Korvin » 2009-12-16 10:50:52

Вот как я авторизуются в LDAP

Код: Выделить всё

auth_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup ldapdn{LDAP_AUTH ldap:///ou=people,dc=ssa,dc=srv,dc=domain,dc=net??sub?(&(objectClass=gosaMailAccount)(mail=${quote_ldap:$2})(userPassword=${quote_ldap:$3}))}{yes}{no}}
  server_prompts = :
  server_set_id = $2

auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup ldapdn{LDAP_AUTH ldap:///ou=people,dc=ssa,dc=srv,dc=domain,dc=net??sub?(&(objectClass=gosaMailAccount)(mail=${quote_ldap:$1})(userPassword=${quote_ldap:$2}))}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $1

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup ldap{LDAP_AUTH ldap:///ou=people,dc=ssa,dc=srv,dc=domain,dc=net?userPassword?sub?(&(objectClass=gosaMailAccount)(mail=${quote_ldap:$1}))}{$value}fail}
  server_set_id = $1
Эсли ты с ножом значит ты с мясом.

Аватара пользователя
J.Korvin
сержант
Сообщения: 232
Зарегистрирован: 2008-11-22 12:03:41

Re: Exim+LDAP+Gosa

Непрочитанное сообщение J.Korvin » 2009-12-17 10:08:26

подскажите хоть что то пожалуйста. :(
Эсли ты с ножом значит ты с мясом.