Инструменты пользователя

Инструменты сайта


openldap_rh

установим OPENLDAP

yum install openldap-servers

В /etc/rsyslog.conf нужно добавить строчку:

local4.* /var/log/ldap

Начиная с RedHat 6 OpenLDAP использует т.н. dynamic config: вся конфигурация хранится в формате LDIF в директории /etc/openldap/slapd.d Удалим эту директорию, т.к. мы будем использовать текстовый конфигурационный файл:

# rm -rf /etc/openldap/slapd.d

Создадим конфиг:

/etc/openldap/slapd.conf

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
pidfile /var/run/openldap/slapd.pid
access to attrs=userPassword
by self write by anonymous auth
by dn.base=«cn=root,dc=mkm» write
by dn.exact=«cn=proxyuser,ou=role,dc=mkm» read
by * read
access to *
by self write
by dn.base=«cn=root,dc=mkm» write
by * read
database bdb
suffix «dc=mkm»
rootdn «cn=root,dc=mkm»
rootpw {SSHA}QHnsWT5s7ZRagWzfvMPK794I/hllxxS2
directory /var/lib/ldap
loglevel 256

Директивы include нужны для подключения схем каталогов LDAP - без них slapd не сможет даже прочитать строчку dc=tdc. Директива suffix определяет суффикс всех DN, обслуживаемых данным сервером, как правило это сетевой домен в форме dc=example,dc=com (в моем случае это tdc). rootdn - это имя сущности, представляющей администратора сервера, ее же пароль задается директивой rootpw. Создать пароль для директивы rootpw можно с помощью команды slappasswd. И наконец, database и directory задают бек-энд базы данных и расположения файлов с данными. В нашем случае это /var/lib/ldap - домашняя директория пользователя LDAP.

Создаем пользователей и группы

Теперь можно создать пользователя и группу для него. Но сначала потребуется описать некоторые каталоги ldap: корневой объект dc и организационные элементы (organizationalUnit) people для пользователей и groups для групп. Кроме этого нам потребуется специальная роль proxyuser для того, чтобы ее могли использовать клиенты pam_ldap. В данном примере мы создадим пользователя student и группу admins. Опишем их записи в формате LDIF и сохраним в файле /root/db1.ldap: ##описание корневого объекта
dn: dc=mkm
dc: mkm
description: Root LDAP entry for mkm
objectClass: dcObject
objectClass: organizationalUnit
ou: rootobject
#Организационная единица для пользователей
dn: ou=people,dc=mkm
ou: people
description: All people in organisation
objectClass: organizationalUnit
# Организационная единица для групп
dn: ou=groups,dc=mkm
ou: groups
description: All groups in organisation
objectClass: organizationalUnit
# Создаем группу admins
dn: cn=admins,ou=groups,dc=mkm
cn: admins
objectClass: top
objectClass: posixGroup
gidNumber: 300
#создаем пользователя
dn: uid=student,ou=people,dc=mkm
cn: student
givenName: student
sn: OGS Administrator
uid: student
uidNumber: 300
gidNumber: 300
homeDirectory: /home/student
mail: student@gmail.com
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
loginShell: /bin/bash
userPassword: {SSHA}END+Ybw46xtKrtsoUXd3+CEXdH6fHuUB
dn: ou=role,dc=mkm
objectclass: organizationalUnit
ou: role
dn: cn=proxyuser,ou=role,dc=mkm
cn: proxyuser
objectclass: top
objectclass: person
objectclass: posixAccount
objectclass: shadowAccount
uid: proxyuser
uidNumber: 64001
gidNumber: 55
homeDirectory: /home/proxyuser
loginShell: /sbin/nologin
userPassword:
sn: proxyuser
description: Account for read-only access

Для внесения обновлений в базу используем ldapadd

ldapadd -D «cn=root,dc=mkm» -W -x -f /root/db1.ldif

-x : не использовать sasl

-D «dn» : под каким пользователем подключаться

-W : запросить ввод пароля

-f file : имя файла из которого брать информацию о добовляемом объекте.

Для добавления еще одного пользователя в новый ldif файл внесем только информацию о пользователе.

Для модификации используем файл mod1.ldif

dn: uid=student,ou=people,dc=mkm
changetype: modify
replace: homeDirectory
homeDirectory: /dev/null

Далее выполним:

ldapmodify -x -D 'cn=root,dc=mkm' -W -f /root/mod1.ldif

Для поиска информации используется

ldapsearch -x -LLL -b 'dc=mkm' 'uid=student'

Если нужно удалить информацию нужно использовать.

ldapdelete -x -D 'cn=root,dc=mkm' -W 'uid=student,ou=people,dc=mkm'

Выполним поиск пользователя student

Установим пароль proxyuser

ldappasswd -D «cn=root,dc=mkm» -W -s proxypassword -x cn=proxyuser,ou=role,dc=mkm

Настройка клиентов

Установим openldap-клиент: # yum install openldap-clients nss-pam-ldapd

В RedHat конфигурацию LDAP можно выполнить через графическую утилиту system-config-authentication или посредством команды authconfig. Во втором случае команда будет выглядеть следующим образом: # authconfig –enableldap –enableldapauth –ldapserver=ldap://172.16.0.211 –ldapbasedn=«dc=mkm» –update

Здесь ldapbasedn - путь до организационного элемента, хранящего пользовательские записи, а ldapserver - URL до ldap-сервера. Задать binddn и bindpw для pam_ldap нужно отдельно. Достаточно просто дописать следующие строчки в конфиг /etc/pam_ldap.conf:

binddn cn=proxyuser,ou=role,dc=mkm

bindpw proxypassword

http://www.altlinux.org/OpenLDAP

openldap_rh.txt · Последнее изменение: 2013/07/09 00:20 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux