exim + courier + ldap

2004-02-12 Пенетрантность Andrey Chernomyrdin
Hi,

Хотелось-бы узнать как правильнее настроить для совместной работы:
 - ldap
 - exim4
 - courier-(pop3|imap)
 - samba (v.3)

Для администрирования пользователей в LDAP сейчас используется
ldap-account-manager (LAM) 
С samba проблем не возникло - тоже все авторизируется (или авторизуется)
нормально - проблем нет. Courier - тоже без проблем берет авторизацию из
LDAP.

Осталось дело за малым - правильно настроить exim, но из всех HOWTO которые
я нашел в internet-е ни одно с другим практически не пересекаются, то есть
все они по разному используют поле mail в ldap базе.

Хотелось-бы узнать как идеалогически правильно все это совместно использовать.
Так-же интерестно кто что использует для администрирования пользователей в
LDAP базе.

Изученные URL:
 - http://www.bastard.net/~kos/mailrouter/
 - http://lists.netisland.net/archives/plug/plug-2003-09/msg00049.html
 - http://www.wlug.org.nz/EximNotes
 
 /usr/share/doc/exim4-base/spec.txt.gz - читал, но там принципы как что
прописывать (это как раз понятно), а вот что и как правильно - не понял.

Более конкретные вопросы (и возможные ответы)

 - Если есть пользователь в ldap базе и не имеет mail и mailbox аттрибутов
   (доставляем почту в ${home}/Maildir)
 - то-же что и выше, но есть mailbox
   (доставляем почту туда куда указывает аттрибут mailbox, причем если
   начинается с '/' то это абсолютный путь если нет - то вычисляем его
   положение относительно ${home})
 - если есть аттрибут mail и то что у него после @ является локальным доменом.
   (см два предидущих правила)
 - то-же что и выше, но домен не локальный
   (отпавляем на указанный в аттрибуте mail адрес)

Потом если в качестве средства для редактирования пользователей использовать
administrator, то там можно зажать более сложные правила доставки почты -
как поддержать их.

-- 
With Best,  | http://www.excom.spb.su/~andrey
 Andrey Chernomyrdin| mailto:[EMAIL PROTECTED] 



Re: exim + courier + ldap

2004-02-12 Пенетрантность Dmitry Rojkov
Hi Andrey Chernomyrdin! 

   On Thu, Feb 12, 2004 you wrote:

 Осталось дело за малым - правильно настроить exim, но из всех HOWTO которые
 я нашел в internet-е ни одно с другим практически не пересекаются, то есть
 все они по разному используют поле mail в ldap базе.
 
 Хотелось-бы узнать как идеалогически правильно все это совместно использовать.
 Так-же интерестно кто что использует для администрирования пользователей в
 LDAP базе.
 
использую самописный фронтенд на php, используемый в основном для того,
чтоб пользователи сами пароли меняли, но до сих пор не дошли руки
сделать нормальную поддержку multi-valued атрибутов (несколько значений
mail для одного аккаунта). Посему часто использую gq.

 Изученные URL:
  - http://www.bastard.net/~kos/mailrouter/
  - http://lists.netisland.net/archives/plug/plug-2003-09/msg00049.html
  - http://www.wlug.org.nz/EximNotes
  
  /usr/share/doc/exim4-base/spec.txt.gz - читал, но там принципы как что
 прописывать (это как раз понятно), а вот что и как правильно - не понял.
 
 Более конкретные вопросы (и возможные ответы)
 
  - Если есть пользователь в ldap базе и не имеет mail и mailbox аттрибутов
(доставляем почту в ${home}/Maildir)
  - то-же что и выше, но есть mailbox
(доставляем почту туда куда указывает аттрибут mailbox, причем если
начинается с '/' то это абсолютный путь если нет - то вычисляем его
положение относительно ${home})
  - если есть аттрибут mail и то что у него после @ является локальным доменом.
(см два предидущих правила)
  - то-же что и выше, но домен не локальный
(отпавляем на указанный в аттрибуте mail адрес)

Честно говоря не понял, в чем все-таки вопросы.
Если нет атрибута mail, то как может происходить поиск соответствия
между аккаунтом пользователя и полем To: пришедшего письма? По rdn что
ли?

Я использую вот такие директоры в указанном порядке

# Для роутинга почты на другие сервера (у меня почтовые ящики для одного
# домена разнесены на несколько почтовых серверов)
ext_aliases:
  driver = accept
  condition = ${if eq {}{${lookup ldap 
{ldap://localhost/ou=People,dc=pcinternetpatrol,dc=com??sub?((([EMAIL 
PROTECTED])(mailhost=*))(!(mailhost=portal.pcinternetpatrol.com)))}}}{no}{yes}}
  retry_use_local_part
  transport = ldap_smtp

# This director routes mail to external addresses using
# mailRoutingAddress (look at /etc/aliases)
ldap_aliases:
  driver = redirect
  allow_defer
  allow_fail
  data = ${lookup ldap 
{ldap://localhost/ou=People,dc=pcinternetpatrol,dc=com?mailRoutingAddress?sub?(([EMAIL
 PROTECTED])(mailRoutingAddress=*))}}
  retry_use_local_part

# This director matches mailboxes of IMAP-server
courieruser:
  driver = accept
  condition = ${if eq {}{${lookup ldap 
{ldap://localhost/ou=People,dc=pcinternetpatrol,dc=com??sub?([EMAIL 
PROTECTED])}}}{no}{yes}}
  retry_use_local_part
  transport = address_directory
  user = mail

Транспорты такие:

# Этот транспорт используется для почтовых ящиков в формате Maildir.
# Вместо uid можно использовать и атрибут mailbox, если хочется
address_directory:
  driver = appendfile
  check_string =
  directory = /var/spool/maildirs/${lookup ldap 
{ldap://localhost/ou=People,dc=pcinternetpatrol,dc=com?uid?sub?([EMAIL 
PROTECTED])}{$value}fail}/
  group = mail
  maildir_format
  message_prefix = 
  message_suffix = 
  quota = ${lookup ldap 
{ldap://localhost/ou=People,dc=pcinternetpatrol,dc=com?mailquota?sub?([EMAIL 
PROTECTED])}{$value}fail}
  user = mail

ldap_smtp:
  driver = smtp
  hosts = ${lookup ldap 
{ldap://localhost/ou=People,dc=pcinternetpatrol,dc=com?mailhost?sub?([EMAIL 
PROTECTED])}{$value}fail}

Для моих задач этого в принципе достаточно. Проблем пока не выявил, но,
думаю, можно и лучше сделать.

Еще использую аутентификаторы, тоже настроенные на работу с ldap, чтобы
можно было почту не только из локальной сети посылать. Принцип
составления lookup'ов тот же самый, только надо добавить биндинг на
аккаунт, который имеет доступ на чтение поля userpassword.

 Потом если в качестве средства для редактирования пользователей использовать
 administrator, то там можно зажать более сложные правила доставки почты -
 как поддержать их.



Re: exim + courier + ldap

2004-02-12 Пенетрантность Slava Astashonok

Andrey Chernomyrdin wrote:

Hi,

Хотелось-бы узнать как правильнее настроить для совместной работы:
 - ldap
 - exim4
 - courier-(pop3|imap)
 - samba (v.3)


Интегрировать exim с ldap'ом можно разными путями. Всё зависит от 
поставленной задачи. Одно дело просто уложить почтовые конфиги в LDAP 
для стандартного почтовика и совсем другое создать централизованную 
систему для развлетвлённой организаци с несколькими филиалами, которые 
могут и не иметь постоянного подключения к Сети.


--
BOFH excuse #171: NOTICE: alloc: /dev/null: filesystem full


simple.conf.tar.bz2
Description: BZip2 compressed data


Exim and LDAP

2001-12-26 Пенетрантность Ingvarr Zhmakin
Доброе утро опять.

Кому-нибудь удалось заставить exim брать юзерские имена из LDAP?

Аналогичный вопрос про алиасы -- но он шире.
Можно ли как-то определить алиасы в LDAP, но не через отдельную запись
(rfc822mailAlias), а посредством добавления пунктов в юзерскую, да еще
чтоб оно само следило за уникальностью всех имен?
Читал про `mailAlias', созданный для того -- но счема, идущая с
OpenLDAP такого не включает.

   Ingvarr.