Re: lug-bg: LDAP based IMAP virtual hosting
- Subject: Re: lug-bg: LDAP based IMAP virtual hosting
- From: Sava Chankov <sava@xxxxxxxxxxxxx>
- Date: Thu, 03 Feb 2005 16:07:20 +0200
Vesselin Kolev wrote:
Здравейте,
Това е по-скоро молба за консултация. Може ли някой да ме насочи IMAP
сървър, който да поддръжа LDAP базирани виртуални домейни? При това
решението да не зависи от вида на използвания MTA (налага се писмата да
се подават към IMAP сървъра от различни MTA, някои са реализирани на
Perl) и например да предава поще по socket map.
За да ви улесня указвам какво разбирам под виртуален хостинг базиран на
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 топологията да е
гора, в което домейните се представят като отделни дървета, а не като клони на
дърво.
Това, което се иска от IMAP сървъра е той да дефинира различен DN за
всеки домейн (в конфигурационния файл) и освен това да знае (чрез
указване в конфигурационния файл) кой е LDAP сървъра съдържащ
директорията. Проверката на идентичността на потребителя да става по
LDAP (проверка на паролата чрез digest-MD5).
Проверката на идентичността на потребителя (т.нар. автентикиране) чрез LDAP в
cyrus може да правиш по два начина - чрез auxprop плъгина за OpenLDAP на Howard
Cho и saslauthd на Igor Brezac. Аз лично използвам втория начин. Не знам за
начин, по който може да държиш информацията за различните домейни в различни
LDAP сървъри, без да ползваш референции (referrals), но ако има такъв ще ми е
наистина интересно да го науча.
Примерно това не може да бъде Cyrus, защото при него се дефинира base DN
и търсенето на потребителя става в този DN и в никой друг (т.е. няма
връзка "има на виртуален домейн"-->"DN на виртуален домейн", а се
изпозлва само един DN. Това е неудобно за виртуален хостинг по следната
причина: няма разделяне на менажирането на потребителите на виртуалните
домейни (всеки администратор на виртуален домейн трябва сам да си
менажира потребителите).
Всички конфигурационни ключове на 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
сървъра и рестартирането му, докато ако топологията е дърво, добавянето и
изтриването на домейн са просто добавяне и изтриване на organizationalUnit записи.
По първа точка - доставката на писмата в IMAP: при нас postfix доставя писмата
на cyrus по LMTP (Local Mail Transfer Protocol). Виртуалните домейни са възможни
с кръпките на Diego Rivera, които с лека модификация успях да приложа върху
текущия стабилен клон (2.1.5). Не съм ги обявил официално в листата на postfix,
поради две причини: 1) не сме ги тествали още (ако ползваш postfix 2.1.5, мога
да ти ги изпратя) 2) не са документирани - идеологията за документиране на
postfix се смени при прехода към 2.1.х, а оригиналните кръпки са за 2.0.x клона
В твоя случай не ми е ясно как многобройните MTA ще доставят пощата - не знам
какво е socket map и какви са другите варианти за доставка.
Ако имаш още въпроси или нещо не съм обяснил/разбрал правилно, ще се радвам да
мога да помогна.
--
Sava Chankov Сава Чанков
research and development проучване и развой
http://www.blueboard.biz блуборд оод
============================================================================
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
============================================================================
|