вторник, 14 марта 2017 г.

ejabberd + Centos 7 + Samba AD

Решил поставить новый ejabberd на Centos 7 и чтоб пользователи авторизовались через Samba AD
Очень помогла статейка вот здесь

Установка ejabberd

Виртуалка с Centos7 у меня уже была, подключен EPEL (возможно и не нужен он).

Итого исходные данные:
Хост: fs2.univer.my.ru
Установлена Samba 4.4.4 и подключена к домену как файлсервер (возможно это и не обязательно)
АД домен: univer.my.ru
Контроллер домена: dc1.univer.my.ru 

С сайта ejabberd скачал rpm, установил его командой 
yum install ejabberd-17.03.beta-0.x86_64.rpm

Установилось в каталог /opt/ejabberd-17.03.beta
В bin скрипты для запуска-остановки, инит, сервис (не пробовал)


Подключение к самбе

Конфиг находится в conf/ejabberd.yml
При установке уже был вписан хост и админ (пароль по умолчанию "admin"):

hosts:
  - "fs2.univer.my.ru"
...
acl:
  admin:
    user:
      - "admin@fs2.univer.my.ru"


Я добавил добавил свой хост (фактически домен) и админа, получилось

hosts:
  - "fs2.univer.my.ru"
  - "univer.my.ru"
...
acl:
  admin:
    user:
      - "admin@fs2.univer.my.ru"
      - "kis@univer.my.ru"

Теперь добавил аутентификацию через домен, она будет действовать только на виртуальный хост джаббера "univer.my.ru", во всех остальных (в данном случае fs2.univer.my.ru) будет действовать auth_method: internal, который описан в основной части конфига

## Authentication using LDAP
host_config:
  "univer.my.ru":
    auth_method: ldap
    ldap_servers:
       - "dc1.univer.my.ru"
    ldap_encrypt: tls
    ldap_port: 636
    ldap_rootdn: "CN=kis,CN=Users,dc=univer,dc=my,dc=ru"
    ldap_password: "***********"
    ldap_base: "cn=Users,dc=univer,dc=my,dc=ru"
    ldap_uids:
        - "sAMAccountName": "%u"
    ldap_filter: "(objectClass=user)"

Ближе к концу конфига (после описания модулей) добавим модуль mod_vcard_ldap. Его тоже добавляем только для хоста "univer.my.ru"

append_host_config:
  "univer.my.ru":
    modules:
      mod_vcard_ldap:
        ldap_uids: {"sAMAccountName": "%u"}
        ldap_filter: ""
        matches: infinity
        ldap_vcard_map:
          "NICKNAME": {"%s": ["displayName"]}
          "FN": {"%s": ["displayName"]}
          "EMAIL": {"%s": ["mail"]}
          "GIVEN": {"%s": ["givenName"]}
          "MIDDLE": {"%s": ["initials"]}
          "FAMILY": {"%s": ["sn"]}
          "ORGNAME": {"%s": ["company"]}
          "ORGUNIT": {"%s": ["department"]}
          "TITLE": {"%s": ["title"]}
          "TEL": {"%s": ["telephoneNumber"]}
        ldap_search_fields:
          "User": "%u"
          "Full Name":  "displayName"
          "Email": "mail"
        ldap_search_reported:
          "Full Name": "FN"
          "Nickname": "NICKNAME"
          "Email": "EMAIL"

Имя-Фамилию пользователя после этого видно, пока хватит

Комментариев нет:

Отправить комментарий