Чтиво: установка сервера часть 028
Настройка и использование LDAP. Часть II.
Теперь я подробнее расскажу об инструментарии для работы с LDAP.
Для начала рассмотрю утилиту slappasswd, генерирующую зашифрованные
пароли (точнее результат вычисления hash-функции от пароля) для
подстановки их в файлы конфигурации и ldif-файлы (файлы данных для
LDAP).
$ /usr/sbin/slappasswd
New password:
Re-enter new password:
{SSHA}jeNRk8wLw4DYLdl+x+S8Z0dLECzYythQ
полученная строка целиком подставляется в нужное место. Иногда
(например, при использовании courier-imap) необходимо задать алгоритм
"шифрации". Это делается с помощью опции "-h". Возможные значения:
{CRYPT}, {MD5}, {SMD5}, {SSHA} и {SHA}, по умолчанию, как было видно,
используется SSHA. Итак,
$ /usr/sbin/slappasswd -h {MD5}
New password:
Re-enter new password:
{MD5}aY1RoZ2KEhzlgUmde3AWaA==
Для использования данной утилиты в скриптах можно использовать
опцию "-s", после которой необходимо указать парольную фразу:
$ /usr/sbin/slappasswd -h {MD5} -s supermegapassword
{MD5}4CwDn1ILFpCFGGwRKzslVQ==
Следующий инструмент используется для добавления данных в базу:
ldapadd. У этой программы есть два способа ввода данных: через
стандартный ввод (standard input) и через файл. Я покажу оба способа.
Чтобы задать элемент, от имени которого осуществляется ввод данных,
используется комбинация следующих ключей "-x -W -D <binddn>" - чтобы
произошел интерактивный запрос пароля, или "-x -D <binddn> -w <passwd>"
- для автоматической аутентификации. Итак,
1. Занесение новых данных через стандартный ввод
$ ldapadd -x -W -D cn=admin,dc=karavay-shops,dc=ru
Enter LDAP Password:
dn: dc=karavay-shops,dc=ru
objectclass: dcObject
objectclass: organization
dc: karavay-shops
o: Office of Karavay's Shops
description: LDAP Server of Office
<Нажать Enter>
adding new entry "dc=karavay-shops,dc=ru"
dn: cn=admin,dc=karavay-shops,dc=ru
objectclass: organizationalRole
cn: admin
<Нажать Enter>
adding new entry "cn=admin,dc=karavay-shops,dc=ru"
<Нажать Ctrl+C>
2. Занесение новых данных с помощью файла
Создается файл init.ldif
begin init.ldif dn: ou=users,dc=karavay-shops,dc=ru
objectclass: organizationalUnit
ou: users
description: Users entry
dn: ou=services,dc=karavay-shops,dc=ru
objectclass: organizationalUnit
ou: services
description: Services entry
dn: ou=networks,dc=karavay-shops,dc=ru
objectclass: organizationalUnit
ou: networks
description: Networks entry
dn: ou=test,dc=karavay-shops,dc=ru
objectclass: organizationalUnit
ou: test
description: Test entry
dn: cn=test,ou=users,dc=karavay-shops,dc=ru
objectclass: organizationalRole
cn: test
dn: cn=test1,ou=users,dc=karavay-shops,dc=ru
objectclass: organizationalRole
cn: test1
end init.ldif И вносятся новые данные в базу:
$ ldapadd -x -D cn=admin,dc=karavay-shops,dc=ru -w megapass -f init.ldif
adding new entry "ou=users,dc=karavay-shops,dc=ru"
adding new entry "ou=services,dc=karavay-shops,dc=ru"
adding new entry "ou=networks,dc=karavay-shops,dc=ru"
adding new entry "ou=test,dc=karavay-shops,dc=ru"
adding new entry "cn=test,ou=users,dc=karavay-shops,dc=ru"
adding new entry "cn=test1,ou=users,dc=karavay-shops,dc=ru"
Намерено были занесены дополнительно 4 ненужных объекта. Сейчас я
их удалю с помощью утилиты ldapdelete. Можно использовать те же самые
ключи, как и в ldapadd. У этой программы есть 3 способа удалить объект:
через файл, standart input и непосредственно в командной строке.
1. Через файл
Создается файл del_entry
begin del_entry # строчек может быть много
ou=test,dc=karavay-shops,dc=ru
<в конце файла обязательно перевод строки>
end del_entry и удаляются соответствующие объекты
$ ldapdelete -x -D cn=admin,dc=karavay-shops,dc=ru -W -f del_entry
Enter LDAP Password:
2. В командной строке:
$ ldapdelete -x -D cn=admin,dc=karavay-shops,dc=ru \
-w megapass cn=test1,ou=users,dc=karavay-shops,dc=ru
3. Через стандартный ввод:
$ ldapdelete -x -D cn=admin,dc=karavay-shops,dc=ru -w megapass
ou=networks,dc=karavay-shops,dc=ru
cn=test,ou=users,dc=karavay-shops,dc=ru
<Нажать Ctrl+C>
Еще один инструмент для изменения атрибутов существующих объектов:
ldapmodify. Хотя им также можно добавлять и удалять объекты. Тоже умеет
работать интерактивно и через файл. Я же рассмотрю только интерактивную
работу.
$ ldapmodify -x -D cn=admin,dc=karavay-shops,dc=ru -W -a
Enter LDAP Password:
dn: uid=test1,ou=users,dc=karavay-shops,dc=ru
objectclass: posixAccount
cn: Test User
uid: test
uidNumber: 7000
gidNumber: 7000
homeDirectory: /tmp
userPassword:
gecos: Super Puper Testing User
<Нажать Enter>
adding new entry "uid=test1,ou=users,dc=karavay-shops,dc=ru"
Теперь я хочу изменить у этого пользователя атрибут "uid", добавить
новый атрибут "description" и удалить атрибут "gecos". Нужно обратить
внимание на разделители "-" между операциями - они обязательны...
$ ldapmodify -x -D cn=admin,dc=karavay-shops,dc=ru -W
Enter LDAP Password:
dn: uid=test1,ou=users,dc=karavay-shops,dc=ru
changetype: modify
replace: uid
uid: test2
-
add: description
description: Mega Super User Testing
-
delete: gecos
<Нажать Enter>
modifying entry "uid=test1,ou=users,dc=karavay-shops,dc=ru"
<Нажать Ctrl+C>
Хочу заметить, что изменился атрибут uid, а не сама dn-запись, что
бы изменить ее значение нужно воспользоваться командой ldapmodrdn:
$ ldapmodrdn -x -D cn=admin,dc=karavay-shops,dc=ru -W -r
Enter LDAP Password:
uid=test1,ou=users,dc=karavay-shops,dc=ru
uid=test2
<Нажать Ctrl+C>
И, наконец, командой ldapmodify можно удалять объекты из базы:
$ ldapmodify -x -D cn=admin,dc=karavay,dc=ru -W
Enter LDAP Password:
dn: uid=test2,ou=users,dc=karavay,dc=ru
changetype: delete
<Нажать Enter>
deleting entry "uid=test2,ou=users,dc=karavay,dc=ru"
<Нажать Ctrl+C>
C уважением, Kolotov Alexandr aka mr. Эбола
отвечать: akmypo***@m*****.ru
ICQ: 100349254
| Registered Linux user # 236664 |
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.kirovlug--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru