Интегрировать eGroupWare с доменом Centaurus

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(Хранение учетных записей пользователей eGroupWare в домене Centaurus (LDAP))
 
(13 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
== Хранение учетных записей пользователей eGroupWare в домене Centaurus (LDAP) ==
+
== Хранение учётных записей пользователей eGroupWare в домене Centaurus (LDAP) ==
-
Решение задачи аутентификации и хранения данных пользователей eGroupWare в домене Centaurus  
+
Решение задачи аутентификации и хранения данных пользователей [[Egroupware|eGroupWare]] в домене [[Centaurus: домен|Centaurus]]
относительно несложно в случае, если eGroupWare и LDAP расположены на одном сервере.
относительно несложно в случае, если eGroupWare и LDAP расположены на одном сервере.
-
Дело в том, что по умолчанию для обращения к LDAP по сети разрешен только протокол ldaps, и это правильно. В eGroupWare (пока?) указать ldaps для аутентификации не получается, только 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
+
данных из конфигурационного файла /etc/openldap/slapd-''domain''.conf
   
   
-
Необходимые параметры вводятся в меню установки eGroupWare (Шаг 2 - Конфигуратор):
+
Необходимые параметры вводятся в меню установки eGroupWare "Шаг 2 - Конфигуратор":
-
  Авторизация / Учетные записи
+
  Авторизация / Учётные записи
  Выберите используемый вами тип идентификации: LDAP
  Выберите используемый вами тип идентификации: LDAP
  Тип шифрования SQL Для пароля (по умолчанию - md5): BLOWISH_CRYPT
  Тип шифрования SQL Для пароля (по умолчанию - md5): BLOWISH_CRYPT
  Выберите где вы будете хранить/получать информацию об учетных записях пользователей: LDAP
  Выберите где вы будете хранить/получать информацию об учетных записях пользователей: LDAP
-
  Минимальныйидентификатор учетных записей (напр.500 или 100, и т.п.): 5000
+
  Минимальный идентификатор учетных записей (напр.500 или 100, и т.п.): 5000
  Используя LDAP:
  Используя LDAP:
Строка 25: Строка 32:
  Имя сервера LDAP: localhost
  Имя сервера LDAP: localhost
  LDAP контекст: ou=People,dc=''domain''
  LDAP контекст: ou=People,dc=''domain''
-
  Контекст групп LDAP: ou=Group,dc=''domain''
+
  Контекст групп 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 с учетной записью администратора (Шаг 3 - Учетная запись администратора)
+
Остальные параметры можно попробовать оставить как есть по умолчанию. Если всё получилось, то после сохранения настроек  
-
и добавить всем пользователям, которым разрешено использование eGroupWare, группу Default.
+
(перезапуск http-сервера не требуется) eGroupWare начнёт принимать пароли пользователей, определённых в домене
-
Обратите внимание, что имена пользователей и их членство в группах одинаково отображаются
+
Centaurus, хотя и не пропустит, ссылаясь на недостаточность прав доступа. Чтобы пользователь вошёл, необходимо
 +
зарегистрироваться в eGroupWare с учетной записью администратора "Шаг 3 - Учетная запись администратора"
 +
и добавить всем пользователям, которым разрешено использование eGroupWare, группу Default. Или любую другую группу,
 +
которой разрешено запускать приложение "Домой".
 +
Обратите внимание, что имена пользователей и их участие в группах одинаково отображаются
как в меню Администрирование eGroupWare, так и в меню Пользователи через Alterator.
как в меню Администрирование eGroupWare, так и в меню Пользователи через Alterator.
-
[[Категория:Centaurus]]
+
 
 +
== Создание новых учетных записей ==
 +
 
 +
Создавать новые учетные записи пользователей теперь можно как через 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 (Общая).

 
Личные инструменты