Оглавление Оглавление 1

Вид материалаДокументы

Содержание


Решения Упражнение 1 : Следуйте инструкциям этой главы Настройка LDAP
Настройка LDAP
Утилиты LDAP
Утилиты миграции LDAP
Графические утилиты управления LDAP
Подобный материал:
1   ...   14   15   16   17   18   19   20   21   ...   29

Упражнения


Упражнение 1 :


  • Установите сервер NIS и настройте его клиентов
  • Проверьте работу аутентификации NIS
      1. Решения


Упражнение 1 :
  • Следуйте инструкциям этой главы
    1. Настройка LDAP

                  1. Ключевые файлы, термины и утилиты:

slapd
slapd.conf
      1. Настройка LDAP

Введение


Служба каталогов (Directory) - это сервис, предоставляющий возможности поиска данных любого вида. Подобно сервису DNS для имен хостов, каталог может хранить информацию о пользовательских учетных записях, номерах телефонов, email-адресах и даже фотографии. Протокол LDAP (Lightweight Directory Access Protocol – облегченный протокол службы каталогов) был разработан для замены старого сложного протокола X.500. Установка должна быть довольно простой, кроме того существует много утилит управления, покрывающих различные нужды.


Структура


DAP Directory Access Protocol - Протокол доступа к каталогу (X.500)

DIT Directory Information Tree - Информационное дерево каталога

dc Domain component - Часть домена

dn Distinguished Name - Отличительное имя

Base DN Откуда начинается поиск

ou Organizational Unit - Организационная единица

cn Common Name - Общеизвестное имя

LDIF Формат обмена данными LDAP (Data Interchange Format)

Object Class Определяет атрибуты

Schema Определяет объекты классов


Пример имени:

dn: cn=John Doe,ou=Staff,dc=lynuxtraining,dc=com


Этот dn является уникальным именем, идентифицирующим пользователя John Doe.



Настройка


В разделе разделе описана конфигурация OpenLDAP, широко известного свободного LDAP сервера.


Основной конфигурационный файл сервера – это /etc/openldap/slapd.conf. Файл содержит различные схемы, поддерживаемые LDAP-сервером, некоторую информацию о процессе LDAP (PID, параметры командной строки, файлы журналов), основную структуру каталога (имя, формат и местоположение), опции менеджера LDAP и списки контроля доступа к каталогу.

[root@test root]# cat /etc/openldap/slapd.conf

include /etc/openldap/schema/core.schema

include /etc/openldap/schema/cosine.schema

...

[пропущено]

...


pidfile /var/run/ldap/slapd.pid

argsfile /var/run/ldap/slapd.args

replogfile /var/lib/ldap/replog


...

[пропущено]

...


database ldbm

suffix "dc=domain,dc=org"

directory /var/lib/ldap


rootdn "cn=manager,dc=domain,dc=org"

rootpw "asd135"


...

[пропущено]

...


access to *

by self write

by group="cn=admin,dc=domain,dc=org" write

by group="cn=maintainer,dc=domain,dc=org" write

by * read stop

[root@test root]#


Существует другой файл - /etc/openldap/ldap.conf, в котором определяется, какому серверу будут посылаться LDAP-запросы, и какое дерево каталогов будет использоваться. Обычно этот файл находится на клиентских машинах.


[root@test openldap]# cat ldap.conf

BASE dc=domain,dc=org

#HOST ldap.example.com ldap-master.example.com

HOST test.domain.org

#URI ldap://ldap.example.com ldap://ldap-master.example.com:666

URI ldap://test.domain.org


...

[пропущено]

...


[root@test openldap]#



Утилиты LDAP


slapadd :


Утилита Slapadd используется для добавления элементов, заданных в формате обмена данными LDAP (LDIF) в базу данных демона slapd .


Пример:

[root@test root]# cat test.ldif

dn: dc=domain, dc=org

objectClass: organization

objectClass: dcObject

dc: domain

o: domain


dn: ou=users, dc=domain, dc=org

objectClass: organizationalunit

ou: users


dn: cn=admin, dc=domain, dc=org

objectClass: top

objectClass: person

userPassword:: asd135

cn: admin

sn:administrateur

[root@test root]# slapadd < test.ldif

[root@test root]#


slapcat :


Утилита Slapcat используется для извлечения данных из базы данных демона slapd в формате LDIF.


Пример:

[root@test root]# slapcat

dn: dc=domain,dc=org

objectClass: organization

objectClass: dcObject

dc: domain

o: domain

structuralObjectClass: organization

entryUUID: aad2cf46-8483-1028-8f23-bfa7c47790fe

creatorsName: cn=manager,dc=domain,dc=org

modifiersName: cn=manager,dc=domain,dc=org

createTimestamp: 20040817102638Z

modifyTimestamp: 20040817102638Z

entryCSN: 2004081710:26:38Z#0x0001#0#0000


dn: ou=users,dc=domain,dc=org

objectClass: organizationalunit

ou: users

structuralObjectClass: organizationalunit

entryUUID: aad56238-8483-1028-8f24-bfa7c47790fe

creatorsName: cn=manager,dc=domain,dc=org

modifiersName: cn=manager,dc=domain,dc=org

createTimestamp: 20040817102638Z

modifyTimestamp: 20040817102638Z

entryCSN: 2004081710:26:38Z#0x0002#0#0000


dn: cn=admin,dc=domain,dc=org

objectClass: top

objectClass: person

cn: admin

sn: administrateur

structuralObjectClass: person

entryUUID: aad569b8-8483-1028-8f25-bfa7c47790fe

creatorsName: cn=manager,dc=domain,dc=org

modifiersName: cn=manager,dc=domain,dc=org

createTimestamp: 20040817102638Z

modifyTimestamp: 20040817102638Z

entryCSN: 2004081710:26:38Z#0x0003#0#0000


[root@test root]#

slappasswd :


Slappasswd используется для генерации пользовательского пароля (userPassword) в формате, пригодном для использования утилитой ldapmodify или директивой rootpw конфигурационного файла slapd.conf.


Этот момент очень важен, поскольку пароль пользователя root хранится в конфигурационном файле slapd.conf в открытом виде.


Пример:

[root@test root]# slappasswd -h {SSHA}

New password:

Re-enter new password:

{SSHA}r+LXQq5RT6HeEOdedOGx8F4tiNBfEfVU

[root@test root]#


ldapadd :


Утилита ldapadd добавляет элемент в каталог LDAP.


Пример:

[root@test root]# ldapadd -f newentryjohndoe.ldif -h test.domain.org -x -D "cn=Manager,dc=domain,dc=org" -w asd135

adding new entry "uid=JohnDoe,ou=people,dc=domain,dc=org"


[root@test root]#


ldapmodify :


ldapmodify модифицирует элемент каталога LDAP.


Пример:

[root@test root]# ldapmodify -f newentryjohndoe.ldif -h test.domain.org -x -D "cn=Manager,dc=domain,dc=org" -w asd135

modifying entry "uid=JohnDoe,ou=people,dc=domain,dc=org"


[root@test root]#


ldapdelete :


ldapdelete удаляет элемент каталога LDAP.


Пример:

[root@test root]# ldapdelete "uid=johndoe,ou=people,dc=domain,dc=org" -h test.domain.org -x -D "cn=Manager,dc=domain,dc=org" -w asd135

[root@test root]#


ldapsearch :


ldapsearch выполняет поиск элемента в каталоге LDAP.


Пример:

[root@test root]# ldapsearch "uid=johndoe" -h test.domain.org -x -D "cn=Manager,dc=domain,dc=org" -w asd135

# extended LDIF

#

# LDAPv3

# base <> with scope sub

# filter: uid=johndoe

# requesting: ALL

#


# JohnDoe, people, domain.org

dn: uid=JohnDoe,ou=people,dc=domain,dc=org

objectClass: posixAccount

objectClass: shadowAccount

objectClass: inetOrgPerson

objectClass: sambaAccount

cn: JohnDoe

uid: JohnDoe

uidNumber: 10001


...

[пропущено]

...


displayName: John Doe

smbHome: \\server\JohnDoe

homeDrive: U:


# search result

search: 2

result: 0 Success


# numResponses: 2

# numEntries: 1

[root@test root]#




Утилиты миграции LDAP


OpenLDAP обычно поставляется с набором сценариев, облегчающих процесс миграции на LDAP с других систем. Эти скрипты хранятся в каталоге /usr/share/openldap/migration/directory и, в частности, используются при миграции с NIS на LDAP.

[root@test root]# cd /usr/share/openldap/migration/

[root@test migration]# ls

CVSVersionInfo.txt* migrate_all_nisplus_online.sh* migrate_group.pl* migrate_profile.pl*

migrate_aliases.pl* migrate_all_offline.sh* migrate_hosts.pl* migrate_protocols.pl*

migrate_all_netinfo_offline.sh* migrate_all_online.sh* migrate_netgroup_byhost.pl* migrate_rpc.pl*

migrate_all_netinfo_online.sh* migrate_automount.pl* migrate_netgroup_byuser.pl* migrate_services.pl*

migrate_all_nis_offline.sh* migrate_base.pl* migrate_netgroup.pl* migrate_slapd_conf.pl*

migrate_all_nis_online.sh* migrate_common.ph* migrate_networks.pl* migration-tools.txt

migrate_all_nisplus_offline.sh* migrate_fstab.pl* migrate_passwd.pl* README

[root@test migration]#




Графические утилиты управления LDAP


Программа : gq





Web-интерфейс: ldap-account-manager (LAM)