From: Igor Moroz <igor.moroz@gmail.com.>
Newsgroups: email
Date: Mon, 18 Dec 2007 14:31:37 +0000 (UTC)
Subject: Как установить LDAP сервер и его клиентов.
Оригинал на анлийском: http://www.debuntu.org/ldap-server-and-linux-ldap-clients
http://www.debuntu.org/ldap-server-and-linux-ldap-clients-p2
Сервер LDAP (Lightweight Directory Access Protocol) позволяет
централизовать управление пользователями, группами, доменами,
аутентификацией, хранением инфомации.
Используя LDAP в локальной сети, вы можете позволить своим пользователям
подключаться и проходить аутентификацию на любом компьютере, входящем в
вашу локальную сеть.
Это руководство разделено на 2 части. В первой части я опишу как
установить, сконфигурировать LDAP сервер, добавить нескольких
пользователей и групп, во второй - мы настроим Linux-клиента для
аутентификации через LDAP, если пользователь не существует на локальном
компьютере.
В этом туториале я рассчитываю на то, что наш LDAP сервер расположен по
адресу 192.168.1.4. Все машины в сети могут распознавать сетевое имя
ldap как ip-адрес 192.168.1.4. LDAP сервер предназначен для управления
доменом debuntu.local. Сервер работает под Debian 4 (тестируемый, но
почти стабильный) и клиентская машина - под Ubuntu Fiesty 7.04
1. LDAP сервер
1.1 Установка
Чтобы наш LDAP сервер заработал, мы должны установить несколько пакетов
# apt-get install slapd ldap-utils migrationtools
Ответьте на все заданные при их установке вопросы и затем
переконфигурируйте slapd, чтобы заставить dpkg задать нам вопросов
немного больше.
#dpkg-reconfigure slapd
#пропустить настройку сервера LDAP? ... Нет
Omit OpenLDAP server configuration? ... No
#Доменное имя DNS: ... debuntu.local
DNS domain name: ... debuntu.local
#Название организации: ... Всечтоугодно & Со
Name of your organization: ... Whatever & Co
#Пароль для admin: XXXXXX
Admin Password: XXXXX
#Подтвердите пароль: XXXXX
Confirm Password: XXXXX
#Настраивается пакет slapd (информация о формате базы ldap)
OK
#Выбор формата базы ldap
BDB
#Удалять базу данных при вычистке slapd? ... Нет
Do you want your database to be removed when slapd is purged? ... No
#Переместить старую базу данных? ... Да
Move old database? ... Yes
#Включить протокол LDAPv2? ... Нет
Allow LDAPv2 Protocol? ... No
Ну, теперь мы установили домен, а заодно и административную учетную
запись "admin"
Теперь вы можете проверить, имееете ли вы доступ к вашему ldap-серверу,
напечатав в консоли:
$ ldapsearch -x -b dc=debuntu,dc=local
Если вы получили сообщение об ошибке, похожее на:
ldap_bind: Can't contact LDAP server (-1)
Чаще всего это означает, что ваш сервер не запущен. Введите команду:
# /etc/init.d/slapd start
чтобы запустить его.
Хорошо, теперь пришло время добавить наших пользователей и группы в базу LDAP.
1.2. Заполнение базы
Используя migrationtools мы получаем возможность быстро импортировать
всех существующих пользователей и групп с локальной системы в LDAP.
#cd /usr/share/migrationtools/
Нам необходимо отредактировать дефолтовый конфигурационный файл
migrationtools, имеющий имя migrate_common.ph и заменить следующие
параметры:
К сожалению, скрипт не создает ldap-узлы Group и People, так что нам
нужно самим создать их. Чтобы сделать это, создайте фай в домашнем
каталоге с именем ~/people_group.ldif и заполните его следующими
данными:
dn: ou=People, dc=debuntu, dc=local
ou: People
objectclass: organizationalUnit
dn: ou=Group, dc=debuntu, dc=local
ou: Group
objectclass: organizationalUnit
Теперь у нас есть списки наших пользователей и групп, сконвертированные
в LDAP формат ldif. Импортируем их в нашу LDAP базу.
где:
-x означает, что мы не используем sasl
-W будет запрошен пароль администратора LDAP
-D используется для идентификации администратора
-f указывает файл, где ldapadd будет брать данные для добавления
Теперь наш сервер готов для идентификации наших пользователей. Идем
дальше и настроим наших клиентов.
2. Настройка клиентов
Каждый клиент нуждается в установке нескольких пакетов. Так что
залогинимся на одном из наших клиентов и установим следующие пакеты:
#Универсальное имя базы поиска
dc=debuntu,dc=local
#Использовать версию LDAP
3
#Учетная запись LDAP для root
cn=admin,dc=debuntu,dc=local
#Пароль учетной записи LDAP для root:
XXXX
#Создать учетную запись администратора для локальной базы: Да
Make local root database admin: yes
#База данных требует учетное имя: Нет
Database require logging in: No
#Учетная запись LDAP для root
LDAP account for root: cn=admin,dc=debuntu,dc=local
#Пароль учетной записи LDAP для root:
Root login password: XXXX
libnss-ldap позволит нам использовать ldap как сервер имен, lippam-ldap
позволит pam аутентифицировать пользователей через LDAP и, наконец, nscd
- это lookup-демон паролей, групп и хостов, который кеширует результаты,
чтобы не запрашивать повторно LDAP каждый раз, когда аутентификация
будет пройдена.
Теперь отредактируем конфигурационные файлы и убедимся, что у нас
установлены следующие настройки:
#vi /etc/libnss-ldap.conf
host ldap
base dc=debuntu,dc=local
rootbinddn cn=admin,dc=debuntu,dc=local
#vi /etc/libnss-ldap.secret
XXXXX
#vi /etc/pam_ldap.conf
host ldap
base dc=debuntu,dc=local
rootbinddn cn=admin,dc=debuntu,dc=local
#vi /etc/pam_ldap.secret
XXXXX
Файлы конфигурации pam должны быть отредактированы как указано ниже:
#vi /etc/pam.d/common-account
account sufficient pam_ldap.so
account required pam_unix.so
#если вы хотите, чтобы домашний каталог пользователя создавался
# при первом логине
#if you want user homedir to be created on first login
#session required pam_mkhomedir.so umask=0022 skel=/etc/skel/ silent
С этими настройками при логине юзер сначала пытается залогиниться как
локальный пользователь. Если совпадений имен не найдено, тогда
запускается аутентификация с ldap сервера.
Теперь у вас есть возможность подключиться на любую клиентскую машину,
используя логин и пароль любого пользователя, указанного в LDAP.
Эта статья не является полным руководством по использованию LDAP, но у
вас появилась возможность хотя бы с чего-нибудь начать :)
908 Прочтений • [Как установить LDAP сервер и его клиентов. (ldap linux debian auth)] [08.05.2012] [Комментариев: 0]