Настройка postfix+dovecot+ldap
3. Часть третья Postfix
О настройках postfix материала в интернете достаточно много. Я ограничусь только
настройками, связанными с ldap и dovecot. Более подробно работа postfix с ldap описана
http://www.opennet.ru/base/net/postfix_openldap.txt.html
Нас интересует в основном связка с dovecot.
Для начала включаем поддержку sasl аутентификации
smtpd_sasl_auth_enable = yes
Задаем имя приложения, используемого для инициализации SASL сервера.
Данный параметр задает имя конфигурационного файла. Имя smtpd
будет соответсвовать конфигурационному файлу SASL - smtpd.conf.
smtpd_sasl_application_name = smtpd
Включает функциональную совместимость с SMTP клиентами, которые
используют устаревшую версию команды AUTH (RFC 2554),
например, outlook express 4 и MicroSoft Exchange version 5.0.
broken_sasl_auth_clients = yes
Отвергаем методы, позволяющие анонимную аутентификацию
smtpd_sasl_security_options = noanonymous
Указывем домен для postfix
virtual_mailbox_domains = example.ru
В принципе можно брать информацию о доменах из ldap. Это если вы собираетесь обслуживать
не один почтовый домен, а несколько.
virtual_mailbox_domains = ldap:ldapdomains
Опишем где взять в LDAP домены и с какого сервера взять.
ldapdomains_server_host = 127.0.0.1
ldapdomains_search_base = ou=domains,ou=mail,dc=example,dc=ru
ldapdomains_query_filter = (mailDomain=%s)
ldapdomains_result_attribute = mailDomain
ldapdomains_scope = one
ldapdomains_bind_dn = ou=mail,ou=services,dc=example,dc=ru
ldapdomains_bind_pw = xxxxxxxx
Напомню, что сама почта у меня будет находится в стандартном каталоге
для почты. Мне показалось, что будет правильным, если я смогу посмотреть почту на локальной машине
не только через pop/imap клиента, а локально. Все причиндалы dovecot вынесены в отдельную папку.
Напоминаю, что почтовый клиент, обслуживает, как локальных(реальных), так и виртуальных пользователей
virtual_mailbox_base = /var/spool/mail
Можно сделать через ldap разделение по типам ящиков (mbox, maildir) для различных пользователей,
но в моем случае я посчитал это излишним.
Теперь укажем владельца и группу для почты. У меня
# 1890 ит 12 - uid и gid пользователя virtual и группы mail соответственно.
virtual_uid_maps = static:1890
virtual_gid_maps = static:12
virtual_minimum_uid = 1
Теперь осталось только указать postfix какой использовать транспорт для виртуальных
доменов. Если вы используете postfixadmin для управления доменами, то транспорт необходимо задавать непосредственно
в самом postfixadmin, а не через параметр virtual_transport.
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
Осталось только указать postfix что SASL авторизацию будет производить dovecot,
а также указать путь к сокету. Путь к сокету задан относительно папки /var/spool/postfix
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-smtp-auth
Вот, собственно и все.
|
|