Интегрировать eGroupWare с доменом Centaurus
Материал из ALT Linux Wiki
Pavelri (обсуждение | вклад) (→Хранение учетных записей пользователей eGroupWare в домене Centaurus (LDAP)) |
|||
(13 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | == Хранение | + | == Хранение учётных записей пользователей eGroupWare в домене Centaurus (LDAP) == |
- | Решение задачи аутентификации и хранения данных пользователей eGroupWare в домене Centaurus | + | Решение задачи аутентификации и хранения данных пользователей [[Egroupware|eGroupWare]] в домене [[Centaurus: домен|Centaurus]] |
относительно несложно в случае, если eGroupWare и LDAP расположены на одном сервере. | относительно несложно в случае, если eGroupWare и LDAP расположены на одном сервере. | ||
- | Дело в том, что по умолчанию для обращения к LDAP по сети | + | Дело в том, что по умолчанию для обращения к LDAP по сети разрешён только протокол ldaps, и это правильно. В eGroupWare (пока?) указать ldaps для аутентификации не получается, только ldap. |
- | Вероятно, это ограничение можно обойти, например при помощи SSH-туннелирования. | + | Вероятно, это ограничение можно обойти, например при помощи [http://ru.wikipedia.org/wiki/SSH#SSH-.D1.82.D1.83.D0.BD.D0.BD.D0.B5.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 SSH-туннелирования]. |
+ | |||
+ | На самом деле можно просто ослабить безопасность, разрешив соединения ldap из сети. Для этого достаточно в /etc/sysconfig/ldap изменить параметр: | ||
+ | |||
+ | #SLAPDURLLIST="'ldap://localhost/ ldaps:///'" | ||
+ | SLAPDURLLIST="'ldap:/// ldaps:///'" | ||
+ | |||
+ | ''Однако, поступать так можно только в крайнем случае и при полной уверенности в безопасности сети, к которой подключен сервер.'' | ||
Здесь и далее: ''domain'' - имя домена Centaurus, точно так, как было указано в поле имени "Домен:" | Здесь и далее: ''domain'' - имя домена Centaurus, точно так, как было указано в поле имени "Домен:" | ||
в соответствующем интерфейсе Alterator при инициализации домена. Если есть сомения, | в соответствующем интерфейсе Alterator при инициализации домена. Если есть сомения, | ||
- | их можно устранить при помощи инструментария phpldapadmin | + | их можно устранить при помощи инструментария [http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page phpldapadmin] или |
- | + | данных из конфигурационного файла /etc/openldap/slapd-''domain''.conf | |
- | Необходимые параметры вводятся в меню установки eGroupWare | + | Необходимые параметры вводятся в меню установки eGroupWare "Шаг 2 - Конфигуратор": |
- | Авторизация / | + | Авторизация / Учётные записи |
Выберите используемый вами тип идентификации: LDAP | Выберите используемый вами тип идентификации: LDAP | ||
Тип шифрования SQL Для пароля (по умолчанию - md5): BLOWISH_CRYPT | Тип шифрования SQL Для пароля (по умолчанию - md5): BLOWISH_CRYPT | ||
Выберите где вы будете хранить/получать информацию об учетных записях пользователей: LDAP | Выберите где вы будете хранить/получать информацию об учетных записях пользователей: LDAP | ||
- | + | Минимальный идентификатор учетных записей (напр.500 или 100, и т.п.): 5000 | |
Используя LDAP: | Используя LDAP: | ||
Строка 25: | Строка 32: | ||
Имя сервера LDAP: localhost | Имя сервера LDAP: localhost | ||
LDAP контекст: ou=People,dc=''domain'' | LDAP контекст: ou=People,dc=''domain'' | ||
- | Контекст групп LDAP: ou= | + | Контекст групп LDAP: [[ou=EGroup]],dc=''domain'' |
Корневой dn LDAP (поиск акаунтов и смена паролей): cn=ldaproot,dc=''domain'' | Корневой dn LDAP (поиск акаунтов и смена паролей): cn=ldaproot,dc=''domain'' | ||
Пароль LDAP: '''взять из файла /etc/openldap/slapd-''domain''.conf''' | Пароль LDAP: '''взять из файла /etc/openldap/slapd-''domain''.conf''' | ||
Тип шифрования LDAP: BLOWISH_CRYPT | Тип шифрования LDAP: BLOWISH_CRYPT | ||
- | Остальные параметры можно оставить как | + | [[Важное замечание:]] |
- | (перезапуск http-сервера не требуется) eGroupWare | + | В домене Centaurus для хранения групп используется ou=Group,dc=''domain''. По умолчанию, там образуется множество групп с именами, совпадающими с именами пользователей. Поэтому при назначении, например, задач в ИнфоЖурнале будет указан не пользователь, а его группа с таким же именем. В результате не работает уведомление по e-mail, так как группа (в отличие от самого пользователя) аргумента mail не имеет. Видимо, это баг EGroupware. Выход в том чтобы назначить любой другой ou специально для групп EGroupware. |
- | Centaurus, | + | |
- | зарегистрироваться в eGroupWare с учетной записью администратора | + | Остальные параметры можно попробовать оставить как есть по умолчанию. Если всё получилось, то после сохранения настроек |
- | и добавить всем пользователям, которым разрешено использование eGroupWare, группу Default. | + | (перезапуск http-сервера не требуется) eGroupWare начнёт принимать пароли пользователей, определённых в домене |
- | Обратите внимание, что имена пользователей и их | + | Centaurus, хотя и не пропустит, ссылаясь на недостаточность прав доступа. Чтобы пользователь вошёл, необходимо |
+ | зарегистрироваться в eGroupWare с учетной записью администратора "Шаг 3 - Учетная запись администратора" | ||
+ | и добавить всем пользователям, которым разрешено использование eGroupWare, группу Default. Или любую другую группу, | ||
+ | которой разрешено запускать приложение "Домой". | ||
+ | Обратите внимание, что имена пользователей и их участие в группах одинаково отображаются | ||
как в меню Администрирование eGroupWare, так и в меню Пользователи через Alterator. | как в меню Администрирование eGroupWare, так и в меню Пользователи через Alterator. | ||
- | + | ||
+ | == Создание новых учетных записей == | ||
+ | |||
+ | Создавать новые учетные записи пользователей теперь можно как через Alterator, так и через eGroupWare. | ||
+ | Однако, в домене Centaurus учетная запись имеет дополнительные атрибуты (класс sambaSamAccount), | ||
+ | а eGroupWare их не создаёт, они для eGroupWare попросту не нужны. Поэтому, кроме особых случаев, | ||
+ | учетные записи в домене следует создавать через Alterator. | ||
+ | |||
+ | == Адресные книги == | ||
+ | |||
+ | |||
+ | === Адресная книга - список пользователей === | ||
+ | |||
+ | Поскольку мы уже храним учетные записи пользователей со всеми необходимыми атрибутами в каталоге LDAP, | ||
+ | к ним можно обратиться из почтового клиента. Почтовым клиентом по умолчанию в дистрибутиве Centaurus служит | ||
+ | Evolution, поэтому подключение адресной книги лучше всего показать на его примере. | ||
+ | Откроем Evolution, '''Вид''' - '''Окно''' - '''Контакты''' (Ctrl+2) - '''Файл''' - '''Создать''' - '''Адресная книга'''. | ||
+ | В окне '''Новая адресная книга''' следует выставить такие параметры: | ||
+ | Тип: На серверах LDAP | ||
+ | Имя: любое интуитивно понятное, например, ''Сотрудники'' | ||
+ | Сервер: имя или адрес сервера LDAP (в нашем примере - контроллера домена domain) | ||
+ | Порт: 636 | ||
+ | Использовать защищенное соединение: Шифрование TLS | ||
+ | Метод подключения: '''использовать адрес электронной почты пользователя, как он указан в свойствах учетной записи''' | ||
+ | Далее, на вкладке '''Подробности''' | ||
+ | База поиска: ou=People,dc=domain | ||
+ | Диапазон поиска: Один или Под (достаточно Один) | ||
+ | '''OK ''' | ||
+ | Если всё получилось, то при первом обращении к адресной книге Evolution переспросит и предложит сохранить пароль | ||
+ | пользователя. После этого адресную книгу ''Сотрудники'' можно использовать при создании новых сообщений как из веб-интерфейса eGroupWare, так и напрямую из Evolution. | ||
+ | |||
+ | === Общая адресная книга === | ||
+ | |||
+ | Подключим общую адресную книгу (она же - адресная книга группы Default) с тем, чтобы | ||
+ | все пользователи в группе могли создавать, хранить, изменять и при необходимости удалять контакты в ней. | ||
+ | Причем не только из веб-интерфейса, но и из Evolution. | ||
+ | По умолчанию eGroupWare сохраняет адресные книги в базе данных SQL, эту настройку необходимо изменить. | ||
+ | Для этого надо войти в eGroupWare с учетной записи администратора, '''Адресная книга''', '''Меню адресной книги''' (слева), '''Администрирование''' - '''Конфигурирование сайта''' | ||
+ | и установить следующие параметры: | ||
+ | Выберите, где вы хотите записывать/извлекать контакы: LDAP | ||
+ | Хост LDAP для контактов: localhost | ||
+ | Контекст LDAP для контактов: dc=domain | ||
+ | Там же есть такая фраза: "Дополнительная информация об использовании LDAP в качестве хранилища контактов" и ссылка README. Крайне рекомендуется ознакомиться с файлом README, там есть все необходимые пояснения. Расширение схемы evolutionperson.schema необходимо для нормальной работы категорий контактов. evolutionperson.schema можно скопировать в /etc/openldap/schema из ./addressbook/doc/ Необходимо зарегистрировать новое расширение схемы в конфигурации /etc/openldap/slapd.conf, как показано там же под комментарием # Addon schemas | ||
+ | EGroupware создаёт в каталоге LDAP новую ветку, для этого требуется разрешение в ACL каталога LDAP. Дополним список ACL в конфигурационном файле | ||
+ | /etc/openldap/slapd-''domain''.conf | ||
+ | |||
+ | # Access to groups addressbooks | ||
+ | access to dn.regex="cn=default,ou=shared,ou=contacts,dc=''domain''$" | ||
+ | attrs=entry,@person,@inetOrgPerson,@evolutionPerson | ||
+ | by users write | ||
+ | access to dn.regex="cn=default,ou=shared,ou=contacts,dc=''domain''$" | ||
+ | attrs=children | ||
+ | by users write | ||
+ | И перезапустим slapd. | ||
+ | Теперь можно настроить Evolution так же, как на список пользователей, только имя адресной книге дадим ''Общая'', а база поиска у нас будет cn=default,ou=shared,ou=contacts,dc=''domain'' | ||
+ | После этого адресную книгу можно использовать для ввода, редактирования и удаления контактов, создания новых сообщений как из веб-интерфейса eGroupWare (''Default''), так и напрямую из Evolution (''Общая''). | ||
+ | {{Category navigation|title=Centaurus|category=Centaurus|sortkey={{SUBPAGENAME}}}} |
Текущая версия на 12:55, 2 июля 2015
Содержание |
Хранение учётных записей пользователей eGroupWare в домене Centaurus (LDAP)
Решение задачи аутентификации и хранения данных пользователей eGroupWare в домене Centaurus относительно несложно в случае, если eGroupWare и LDAP расположены на одном сервере. Дело в том, что по умолчанию для обращения к LDAP по сети разрешён только протокол ldaps, и это правильно. В eGroupWare (пока?) указать ldaps для аутентификации не получается, только ldap. Вероятно, это ограничение можно обойти, например при помощи SSH-туннелирования.
На самом деле можно просто ослабить безопасность, разрешив соединения ldap из сети. Для этого достаточно в /etc/sysconfig/ldap изменить параметр:
#SLAPDURLLIST="'ldap://localhost/ ldaps:///'" SLAPDURLLIST="'ldap:/// ldaps:///'"
Однако, поступать так можно только в крайнем случае и при полной уверенности в безопасности сети, к которой подключен сервер.
Здесь и далее: domain - имя домена Centaurus, точно так, как было указано в поле имени "Домен:" в соответствующем интерфейсе Alterator при инициализации домена. Если есть сомения, их можно устранить при помощи инструментария phpldapadmin или данных из конфигурационного файла /etc/openldap/slapd-domain.conf
Необходимые параметры вводятся в меню установки eGroupWare "Шаг 2 - Конфигуратор":
Авторизация / Учётные записи
Выберите используемый вами тип идентификации: LDAP Тип шифрования SQL Для пароля (по умолчанию - md5): BLOWISH_CRYPT Выберите где вы будете хранить/получать информацию об учетных записях пользователей: LDAP Минимальный идентификатор учетных записей (напр.500 или 100, и т.п.): 5000
Используя LDAP:
Имя сервера LDAP: localhost LDAP контекст: ou=People,dc=domain Контекст групп LDAP: ou=EGroup,dc=domain Корневой dn LDAP (поиск акаунтов и смена паролей): cn=ldaproot,dc=domain Пароль LDAP: взять из файла /etc/openldap/slapd-domain.conf Тип шифрования LDAP: BLOWISH_CRYPT
Важное замечание: В домене Centaurus для хранения групп используется ou=Group,dc=domain. По умолчанию, там образуется множество групп с именами, совпадающими с именами пользователей. Поэтому при назначении, например, задач в ИнфоЖурнале будет указан не пользователь, а его группа с таким же именем. В результате не работает уведомление по e-mail, так как группа (в отличие от самого пользователя) аргумента mail не имеет. Видимо, это баг EGroupware. Выход в том чтобы назначить любой другой ou специально для групп EGroupware.
Остальные параметры можно попробовать оставить как есть по умолчанию. Если всё получилось, то после сохранения настроек (перезапуск http-сервера не требуется) eGroupWare начнёт принимать пароли пользователей, определённых в домене Centaurus, хотя и не пропустит, ссылаясь на недостаточность прав доступа. Чтобы пользователь вошёл, необходимо зарегистрироваться в eGroupWare с учетной записью администратора "Шаг 3 - Учетная запись администратора" и добавить всем пользователям, которым разрешено использование eGroupWare, группу Default. Или любую другую группу, которой разрешено запускать приложение "Домой". Обратите внимание, что имена пользователей и их участие в группах одинаково отображаются как в меню Администрирование eGroupWare, так и в меню Пользователи через Alterator.
Создание новых учетных записей
Создавать новые учетные записи пользователей теперь можно как через Alterator, так и через eGroupWare. Однако, в домене Centaurus учетная запись имеет дополнительные атрибуты (класс sambaSamAccount), а eGroupWare их не создаёт, они для eGroupWare попросту не нужны. Поэтому, кроме особых случаев, учетные записи в домене следует создавать через Alterator.
Адресные книги
Адресная книга - список пользователей
Поскольку мы уже храним учетные записи пользователей со всеми необходимыми атрибутами в каталоге LDAP, к ним можно обратиться из почтового клиента. Почтовым клиентом по умолчанию в дистрибутиве Centaurus служит Evolution, поэтому подключение адресной книги лучше всего показать на его примере. Откроем Evolution, Вид - Окно - Контакты (Ctrl+2) - Файл - Создать - Адресная книга. В окне Новая адресная книга следует выставить такие параметры:
Тип: На серверах LDAP Имя: любое интуитивно понятное, например, Сотрудники Сервер: имя или адрес сервера LDAP (в нашем примере - контроллера домена domain) Порт: 636 Использовать защищенное соединение: Шифрование TLS Метод подключения: использовать адрес электронной почты пользователя, как он указан в свойствах учетной записи
Далее, на вкладке Подробности
База поиска: ou=People,dc=domain Диапазон поиска: Один или Под (достаточно Один) OK
Если всё получилось, то при первом обращении к адресной книге Evolution переспросит и предложит сохранить пароль пользователя. После этого адресную книгу Сотрудники можно использовать при создании новых сообщений как из веб-интерфейса eGroupWare, так и напрямую из Evolution.
Общая адресная книга
Подключим общую адресную книгу (она же - адресная книга группы Default) с тем, чтобы все пользователи в группе могли создавать, хранить, изменять и при необходимости удалять контакты в ней. Причем не только из веб-интерфейса, но и из Evolution. По умолчанию eGroupWare сохраняет адресные книги в базе данных SQL, эту настройку необходимо изменить. Для этого надо войти в eGroupWare с учетной записи администратора, Адресная книга, Меню адресной книги (слева), Администрирование - Конфигурирование сайта и установить следующие параметры:
Выберите, где вы хотите записывать/извлекать контакы: LDAP Хост LDAP для контактов: localhost Контекст LDAP для контактов: dc=domain
Там же есть такая фраза: "Дополнительная информация об использовании LDAP в качестве хранилища контактов" и ссылка README. Крайне рекомендуется ознакомиться с файлом README, там есть все необходимые пояснения. Расширение схемы evolutionperson.schema необходимо для нормальной работы категорий контактов. evolutionperson.schema можно скопировать в /etc/openldap/schema из ./addressbook/doc/ Необходимо зарегистрировать новое расширение схемы в конфигурации /etc/openldap/slapd.conf, как показано там же под комментарием # Addon schemas EGroupware создаёт в каталоге LDAP новую ветку, для этого требуется разрешение в ACL каталога LDAP. Дополним список ACL в конфигурационном файле /etc/openldap/slapd-domain.conf
# Access to groups addressbooks access to dn.regex="cn=default,ou=shared,ou=contacts,dc=domain$" attrs=entry,@person,@inetOrgPerson,@evolutionPerson by users write access to dn.regex="cn=default,ou=shared,ou=contacts,dc=domain$" attrs=children by users write
И перезапустим slapd. Теперь можно настроить Evolution так же, как на список пользователей, только имя адресной книге дадим Общая, а база поиска у нас будет cn=default,ou=shared,ou=contacts,dc=domain После этого адресную книгу можно использовать для ввода, редактирования и удаления контактов, создания новых сообщений как из веб-интерфейса eGroupWare (Default), так и напрямую из Evolution (Общая).