|
Re: lug-bg: LDAP based IMAP virtual hosting
- Subject: Re: lug-bg: LDAP based IMAP virtual hosting
- From: Vesselin Kolev <vlk@xxxxxxxxxxxxxxxxx>
- Date: Thu, 03 Feb 2005 16:36:08 +0200
Sava Chankov wrote:
Vesselin Kolev wrote:
За да ви улесня указвам какво разбирам под виртуален хостинг базиран
на LDAP? Всички потребители на пощенския домейн са описани в LDAP в
отделен DN (примерно потребителите на домейна test.example.com са
описани в LDAP в директория ou=People,dn=test,dn=example,dn=com, тези
за домейна mail.domain.net в директория
ou=People,dn=mail,dn=domain,dn=net и т.н.).
Може би имаш предвид dc=test,dc=example,dc=com (dc - domain component,
стандартният начин за map-ване на DNS върху LDAP)? Т.е. LDAP
топологията да е гора, в което домейните се представят като отделни
дървета, а не като клони на дърво.
Не. Направо съм писал как стоят при мен записите в LDAP директорията.
примерно потребителя user е описан като
uid=user,ou=People,dc=test,dc=example,dc=com.
Проверката на идентичността на потребителя (т.нар. автентикиране) чрез
LDAP в cyrus може да правиш по два начина - чрез auxprop плъгина за
OpenLDAP на Howard Cho и saslauthd на Igor Brezac. Аз лично използвам
втория начин. Не знам за начин, по който може да държиш информацията
за различните домейни в различни LDAP сървъри, без да ползваш
референции (referrals), но ако има такъв ще ми е наистина интересно да
го науча.
saslauthd не ти върши никаква работа, защото първо задаваш единствен
сървър и единствена база за търсене. Примерно, опиши ми как можеш чрез
saslauthd да удостовериш следните потребители (подавани в REALM):
test@xxxxxxxxxx и test@xxxxxxxxxx.
Всички конфигурационни ключове на cyrus, които започват с ldap_ се
отнасят за ОТОРИЗИРАНЕТО през ptloader модула, а не за автентикирането
им. Въпреки това,
може да използваш %1, %2, ... %9 за разбиването на нивата на домейна в
ldap_base - от man страницата на imapd.conf, която общо взето може да
разбереш само ако си хаквал кода :) %1-9 = domain tokens (%1 = tld, %2
= domain when %d = domain.tld), т.е.
ldap_base = dc=%3,dc=%2,dc=%1
ще работи в твоя случай.
Не знам защо смяташ, че LDAP гората се администрира по-лесно от LDAP
дърво, в което домейните са представени така:
<root of LDAP>
|
+--->domain1.tld
| |
| +--->Group
| | |
| | +--->cn=groupname
| | |
| | ...
| |
| +--->People
| |
| +--->uid=username
| |
| ...
...
+--->domainN.tld
Добре, да приемем, че накарам собствениците на домейни да работят в моя
LDAP root и там да им направя съответните директории, като sub на
основната. Напиши ми примерно как би изглеждал по горната схема файла
saslauthd за да проверява дали са налични user@xxxxxxxxxxx и
domain1.tld? Това не става ясно от документацията.
Иначе...
Всичко, което казваш е така. Но при мен се налага да има различни LDAP
сървъри и на тях да се пазят различни директории. Може да не е удобно,
но такава е реалната ситуация:(
В твоя случай не ми е ясно как многобройните MTA ще доставят пощата -
не знам какво е socket map и какви са другите варианти за доставка.
Socket map използват примерно едни embeded USB устройства, който
комуникират със cyrus през lmtp демона му. Подобно предаване, базирано
разбира се и на съответен протокол (в моя случай cyrusv2), се нарича
socket map. Специално за Sendmail и Cyrus е обяснено тук:
http://anfi.homeunix.net/sendmail/rtcyrus-socket.html
За embeded устройствата:) не е обяснено. Но принципа е същия.
Поздрави и благодарности за отговора.
Весо
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|
|
|