Инструменты пользователя

Инструменты сайта


postfix_dovecot_active_directory

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
postfix_dovecot_active_directory [2013/05/08 16:16]
metallic [Postfix]
postfix_dovecot_active_directory [2022/03/25 17:00] (текущий)
Строка 1: Строка 1:
 ====== Почта Postfix + Dovecot с интеграцией в MS Active Directory ====== ====== Почта Postfix + Dovecot с интеграцией в MS Active Directory ======
 ===== Введение ===== ===== Введение =====
-В данной статье я хочу структурировать клочки информации по теме, которые мне удалось найти в интернете. Данная тема не новая, но внятного-понятно howto, с пояснениями и т.д. найти не удалось, поэтому решил написать заметку себе на память, вдруг еще доведется подобное где-то разворачивать.+В данной статье я хочу структурировать клочки информации по теме, которые мне удалось найти в интернете. Данная тема не новая, но внятного-понятного howto, с пояснениями и т.д. найти не удалось, поэтому решил написать заметку себе на память, вдруг еще доведется подобное где-то разворачивать.
 Итак, в данном мануале будет рассмотрен вопрос разворачивания внутренней корпоративной почты, т.е. почта которая работает только в пределах локальной сети, для внутренних нужд организации, хотя ничего вам не мешает подобным образом организовать и глобальную почтовую систему. Итак, в данном мануале будет рассмотрен вопрос разворачивания внутренней корпоративной почты, т.е. почта которая работает только в пределах локальной сети, для внутренних нужд организации, хотя ничего вам не мешает подобным образом организовать и глобальную почтовую систему.
  
Строка 7: Строка 7:
  
 Итак, имеем домен под управлением Windows Server 2012, режим леса и режим домена - 2012. Почтовый сервер - GNU/Debian 7.0 (Postfix 2.9, Dovecot 2.1). Итак, имеем домен под управлением Windows Server 2012, режим леса и режим домена - 2012. Почтовый сервер - GNU/Debian 7.0 (Postfix 2.9, Dovecot 2.1).
 +
 +===== Установка =====
 +
 +Устанавливаем все необходимое
 +<konsole>
 +# apt-get install dovecot-common dovecot-ldap dovecot-imapd dovecot-pop3d postfix postfix-ldap
 +</konsole>
  
 ===== Dovecot ===== ===== Dovecot =====
Строка 45: Строка 52:
   # никакого смысла, ведь наши акаунты виртуальные. Соответственно создаем пользователя vmail(думаю, не надо    # никакого смысла, ведь наши акаунты виртуальные. Соответственно создаем пользователя vmail(думаю, не надо 
   # показывать как это делать) и смотрим идентификатор этого пользователя и идентификатор его группы   # показывать как это делать) и смотрим идентификатор этого пользователя и идентификатор его группы
-  # (id vmail), затем вписываем их в параметры ниже. Теперь вся почта будет принадлежать пользователю vmail.  +  # (id vmail), затем вписываем их в параметры ниже. Теперь вся почта будет принадлежать пользователю vmail
 +  # Поля, в которых Dovecot ищет нужную информацию задаются параметром user_attrs.  
      
   mail_uid = 1001   mail_uid = 1001
Строка 109: Строка 117:
   # Фильтрация пользователей. Также указываем по чему будем идентифицировать их. Если домен AD и   # Фильтрация пользователей. Также указываем по чему будем идентифицировать их. Если домен AD и
   # почтовый домен совпадают - проще всего по userPrincipalName, оно точно уникальное.   # почтовый домен совпадают - проще всего по userPrincipalName, оно точно уникальное.
 +  # При желании можно с помощью побитовых фильтров отсечь заблокированных пользователей:
 +  # user_filter = (&(objectClass=person)(userPrincipalName=%u)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
 +  # pass_filter = (&(ObjectClass=person)(userPrincipalName=%u)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
 +  
   user_filter = (&(objectClass=person)(userPrincipalName=%u))   user_filter = (&(objectClass=person)(userPrincipalName=%u))
   pass_filter = (&(ObjectClass=person)(userPrincipalName=%u))   pass_filter = (&(ObjectClass=person)(userPrincipalName=%u))
Строка 202: Строка 214:
   search_base = ou=AllUsers,dc=burut,dc=org   search_base = ou=AllUsers,dc=burut,dc=org
   timeout = 3   timeout = 3
 +  
   # Поле, в котором будем искать почтовые псевдонимы. Я использовал mail, т.к. оно доступно через редактирование свойств пользователя   # Поле, в котором будем искать почтовые псевдонимы. Я использовал mail, т.к. оно доступно через редактирование свойств пользователя
   # стандартными средствами, но при этом получается можно задать всего один псевдоним. Но если хочется иметь возможность задавать несколько   # стандартными средствами, но при этом получается можно задать всего один псевдоним. Но если хочется иметь возможность задавать несколько
Строка 208: Строка 220:
   # query_filter = (otherMailbox=%s)    # query_filter = (otherMailbox=%s) 
   # но в этом случае придется его редактировать через ADSI edit, что не очень удобно.   # но в этом случае придется его редактировать через ADSI edit, что не очень удобно.
 +  # Альтернативный вариант - добавить в main.conf в секцию virtual_alias_maps еще один аналогичный файл, только с otherMailbox вместо mail,
 +  # тогда псевдонимы будут просматриваться в обоих местах.
 +  
   query_filter = (mail=%s)   query_filter = (mail=%s)
- +  
   result_filter = %s   result_filter = %s
   result_attribute = userPrincipalName   result_attribute = userPrincipalName
Строка 217: Строка 232:
   bind_dn = reader@burut.org   bind_dn = reader@burut.org
   bind_pw = readerpass   bind_pw = readerpass
 +  
 +/etc/postfix/virtual_mlist.conf
 +  #debuglevel = 0
 +  version = 3
 +  server_host = ldap://domain.local
 +  search_base = ou=AllUsers,dc=domain,dc=local
 +  timeout = 3
 +  
 +  # Запрашиваем группы распространения(специальный тип групп в AD), отфильтровываем мы их с помощью sAMAccountType=268435457, посмотреть номер
 +  # любого объекта можно также через ADSI edit, у групп распространения он соответствует 268435457
 +  
 +  query_filter = (&(mail=%s)(sAMAccountType=268435457))
 +  
 +  result_filter = %s
 +  result_attribute = userPrincipalName
 +  special_result_attribute = member
 +  scope = sub
 +  bind = yes
 +  bind_dn = reader@domain.local
 +  bind_pw = passw0rd
 +
 +Чтобы создать группу рассылки, нужно создать группу распространения и задать в ее свойствах поле email, это и будет адресом группы. Имя самой группы может быть любым, это не имеет значение. Далее в группу надо включить нужных пользователей.
 +
 +Теперь создаем список разрешенных доменов (он у нас один).
 +<konsole>
 +# echo "domain.local OK" > /etc/postfix/recipient_access
 +
 +# postmap /etc/postfix/recipient_access
 +</konsole>
 +
 +На этом настройка закончена, при желании можно добавить smtp-авторизацию.
 +
 +===== Почтовый клиент =====
 +Настройка почтового клиента никаких особых хитростей не имеет, единственное что надо учитывать, что в качестве имени пользователя нужно указывать userPrincipalName, т.е. user@domain.local, но чтобы пользователи пользовались только "красивыми" адресами почты, в качестве адреса отправителя в настройках почтового клиента я указываю почтовый псевдоним пользователя, например iivanov@domain.local.
 +
 +Также, при условии, что у пользователей в профиле заполнено поле mail, в почтовом клиенте Mozilla Thunderbird можно настроить адресную книгу, для поиска по базе LDAP, тогда пользователи смогут вводить имена, либо фамилии в поле адресата и будет выполняться автоматический поиск их email-адресов.
 +
 +Для этого заходим в параметры учетной записи -> Составление и адресация -> Адресация, переключаем в положение "Использовать другой LDAP-сервер" и нажимаем кнопку "Изменить сервер каталогов..."
 +
 +{{ :mail_ad_1.png?nolink |}}
 +
 +В появившемся окне жмем "Добавить" и в новом окне заполняем параметры подключения к LDAP. Указываем контейнер в каком искать пользователей, имя пользователя с каким подключаться для поиска.
 +
 +{{ :mail_ad_2.png?nolink |}}
 +
 +Кликаем несколько раз ОК и в последнем окне выбираем наш каталог и еще раз кликаем ОК. Все, на этом настройка завершена.
 +
 +{{ :mail_ad_3.png?nolink |}}
 +===== Использованная литература =====
 +
 +  - [[http://www.opennet.ru|Форум opennet]]
 +  - [[http://support.microsoft.com/kb/269181/ru|Побитовые фильтры AD]]
 +  - [[http://wiki.autosys.tk/Linux%20FAQ.postfix-dovecot-и-Active-Directory.ashx|postfix-dovecot-и-Active-Directory]]
 + 
postfix_dovecot_active_directory.1368015378.txt.gz · Последнее изменение: 2022/03/25 17:04 (внешнее изменение)