Страница 1 из 1
Exim+LDAP+Gosa
Добавлено: 2007-09-19 11:08:38
kapa6ac
Руководство поставило задачу перейти в виндузов на юникс (причина - лицензия).
Хотелось бы удобство а-ля АД, т.е. чтобы администь всё в одном месте. Поиски навели на 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))"
Нормального описалова структуры запроса из ексима к лдапу я не нашел. ((
Прошу помощи.
З.Ы. Тока камушками сильно не бросайтесь, я только начинаю в юникса въезжать
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 11:58:47
Alex Keda
честно гря непонял какое поле ты выбираешь...
а описалова, да,, нету помоему...
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 12:21:32
kapa6ac
незнаю, может быть поможет
Код: Выделить всё
# 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
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 13:52:07
Alex Keda
помоему ты не понимаешь что выбираешь.
смотри, вот кусок у тебя:
в y`v ты выбираешь поле с именем 'mail'
у тебя такого поля нет.
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 14:02:48
kapa6ac
черт. не тот пример привел, та учетка без почтового акка была.
вот правильный пример
Код: Выделить всё
# 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, соответственно первый-основной, а второй как дополнительный. Как правильно писать,чтобы ексим понял их обоих?
Кстати, если учетка есть, но в ней не зарегистрировано почтовых ящиков, то ошибка будет?
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 15:08:17
Alex Keda
да. будет ошибка.
а про лдап - я сам запросы со скрипом пишу

Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 15:31:10
kapa6ac
А что за скрипт?
Можешь поделится?
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 15:40:38
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"?
Насколько я понимаю, это нечто вроде критерия фильтра в поиске?
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 15:47:21
Alex Keda
кстати, этот пункт пишется через равно...
и ещё - пиши зарпос без пробелов - они разрешены но в лдап воспринимаются как пробелы - не игнорируются и попадают в запрос.
потому как имеют право быть в ЛДАП
Re: Exim+LDAP+Gosa
Добавлено: 2007-09-19 15:49:33
Alex Keda
и вообще - какая-то извращённая форма запроса с $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"?
Насколько я понимаю, это нечто вроде критерия фильтра в поиске?
Подскажите пожалуйста вы ширили проблему или нет. Спасибо
Re: Exim+LDAP+Gosa
Добавлено: 2009-12-16 10:24:42
J.Korvin
У меня аналогичная связка (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)
Re: Exim+LDAP+Gosa
Добавлено: 2009-12-16 10:50:52
J.Korvin
Вот как я авторизуются в 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
Re: Exim+LDAP+Gosa
Добавлено: 2009-12-17 10:08:26
J.Korvin
подскажите хоть что то пожалуйста.
