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

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


openldap_rh

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
openldap_rh [2013/07/08 12:15]
46.231.215.230 создано
openldap_rh [2013/07/09 00:20] (текущий)
Строка 42: Строка 42:
 loglevel 256\\ 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.1373285754.txt.gz · Последнее изменение: 2013/07/08 16:15 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux