Рекомендации по добавлению новой организации в LDAP

Материал из DvoWiki
Перейти к: навигация, поиск

Предварительные сведения и общие соображения.

Добавление организации в LDAP состоит из слудующих пунктов

  1. Выбор имени подветки (или директории) в LDAP.
  2. Создание подветки.
  3. Изменение файла с правами.
  4. Создание профиля в LDAP Account Manager

Во первых, при добавлении организации стоит чётко разграничить, является ли эта организация доверительной с точки зрения просмотра работниками этой организации данных пользователей ДВО. Так, например специальная подветка для студентов матфака ДВГУ, не имеет прав для просмотра учётных записей в других ветках. В то же время аккаунты институтов доступ ко всей рабочей информации. такой как имя пользователя, его рабочий телефон и рабочая почта в поддомене dvo.

На данный момент в LDAP занесены несколько институтов и учреждений относящихся к РАН, но также имеется две поддиректории с особо ограниченными правами. Это extdev, ou=imcs,ou=dvgu для сторонних разработчиков и института математики ДВГУ. Если нужно добавить в систему некоторых сторонних пользователей, то луьше всего использовать для этого подветку exdev. Так как для этой подветки уже существует настроенный доступ к ftp (tftp://ftp.extdev.dvo.ru:121) и к subversion (https://svn.dvo.ru/).

Добавление организации с помощью ldiff файла

После того как будет выбрано имя директории, можно приступать к её созданию. Все организации в составе ДВО, добавляются согласно шаблону. Приведу его ниже:

# extended LDIF
#
# LDAPv3
# base <dc=dvo,dc=ru> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
 
# dnph, dvo.ru
dn: ou=dnph,dc=dvo,dc=ru
objectClass: organizationalUnit
objectClass: top
ou: dnph

# groups, dnph, dvo.ru
dn: ou=groups,ou=dnph,dc=dvo,dc=ru
objectClass: organizationalUnit
objectClass: top
ou: groups

# ldap_admins, groups, dnph, dvo.ru
dn: cn=ldap_admins,ou=groups,ou=dnph,dc=dvo,dc=ru
objectClass: groupOfNames
objectClass: top
cn: ldap_admins
member: cn=samba,ou=serv_accounts,ou=users,ou=dnph,dc=dvo,dc=ru

# resource_admins, groups, dnph, dvo.ru
dn: cn=resource_admins,ou=groups,ou=dnph,dc=dvo,dc=ru
objectClass: groupOfNames
objectClass: top
cn: resource_admins
member: cn=top_user2,ou=otdel_expluatacii_el_vich_res,ou=users,ou=dnph,dc=dvo,dc=ru

# users, groups, dnph, dvo.ru
dn: cn=users,ou=groups,ou=dnph,dc=dvo,dc=ru
objectClass: posixGroup
objectClass: top
cn: users
gidNumber: 1003

# users_admins, groups, dnph, dvo.ru
dn: cn=users_admins,ou=groups,ou=dnph,dc=dvo,dc=ru
objectClass: groupOfNames
objectClass: top
cn: users_admins
member: cn=top_user2,ou=otdel_expluatacii_el_vich_res,ou=users,ou=dnph,dc=dvo,dc=ru

# machines, dnph, dvo.ru
dn: ou=machines,ou=dnph,dc=dvo,dc=ru
objectClass: organizationalUnit
objectClass: top
ou: machines

# users, dnph, dvo.ru
dn: ou=users,ou=dnph,dc=dvo,dc=ru
objectClass: organizationalUnit
objectClass: top
ou: users


Как видно из примера, создаётся поддиректория для организации dnph. Поменять организацию можно заменив все строчки dnph на имя выбранное для вновь добавляемой организации. Далее это сохраняется в ldiff фаил. Например org_name.ldiff, и добавляется в LDAP с помошью команды ldapadd -c -x -W -h ldap.dvo.ru -D "cn=Manager,dc=dvo,dc=ru" -f file_name Ключ -с говорит о том чтобы продолжать работу даже в случае ошибок. Ключи -x -W отвечают за то чтобы не проводилось шифрование потока (допустим сертификат для клиента не настроен) и за то чтобы пароль спрашивался автоматически.

Добавление организации в LDAP через LDAP Account Manager (LAM)

Существует второй способ добавления организации. Для этого можно использовать LAM. Зайдя с правами администратора LDAP на профиль iacp, можно просмотреть структуру директорий для других организации через Tree View. После этого, нужно воссоздать эту структуру, использую управляющие элементы LAM. Типы объектов можно посмотреть как через TreeView, так и в примере ldiff файла наверху.


Управление правами пользователей

Управление правами пользователей осуществляется через редактирование файла slapd.access. Пред тем как править файл хорошим тоном будет создать копию существующего рабочего конфига.

cd /etc/slapd
cp slapd.access slapd.access.old

или

cp slapd.access slapd.access.32.02.2002

Далее следует редактировать slapd.access. В файле уже размещены правила для нескольких организаций, поэтому нужно действовать по шаблону добавляя нужные строчки в нужные места. Пример файла приводить здесь не буду из соображений безопасности. При работе с этим файлом стоит уделить особое внимание тому что права для новой организации прописаны во всех блоках. После изменения файла нужно перезапустить сервис

/etc/init.d/slapd restart

Также нужно проверить что ничего не поломалось в ходе правок. Для этого можно воспользоваться LAM. И, зайдя под разными пользователями, поробовать получить доступ к различным поддеревьям через TreeView.

Добавление профиля в LAM

Описани процесса добавления профаила находится здесь. При работе над профайлом нужно указать следующие параметры

  1. Учётную запись ответственного за эту подветку в организации, профайл которой мы создаём и учётную запись главного пользователя cn=Manager,...
  2. Обязательно нужно добавить модули для Samba (может пригодится для виндового домена) и модуль управления почтой.
  3. также в качестве базового узла (base DN), для данного профайла укажите ту ветку, которую вы добавили, чтобы через TreeView администратор этой ветки видел только подконтрольные ему сущности.