среда, 2 апреля 2008 г.

ldif

Для редактирования LDAP каталогов многие используют разные программы, например luma, ldap administrator и тп. Для новичков кажется ldif кажется сложноватым, а работа с утилитами командной строки тем более.
На самом деле работа с ldif может сэкономить много времени.

deep@host:~$ ldapsearch -h kdc -b uid=anyuser,ou=users,dc=city,dc=realm,dc=tld
SASL/GSSAPI authentication started
SASL username: deep@REALM.TLD
SASL SSF: 56
SASL data security layer installed.
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

dn: uid=anyuser,ou=users,dc=city,dc=realm,dc=tld
cn: Any User
displayName:: skipped
gecos: Any User
givenName:: skipped
homeDirectory: /home/anyuser
loginShell: /bin/bash
o:: skipped
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: userSecurityInformation
sn: anyuser
title: anyworker
uid: anyuser
uidNumber: 2118
userPassword: secret
gidNumber: 2030

# search result
search: 5
result: 0 Success

# numResponses: 2
# numEntries: 1

Практически этот вывод можно перенаправить сразу в файл. Затем редактируем, заменяя anyuser на anyuser_new и таким образом можно легко создать нового пользовталя:

deep@host:~$ ldapsearch -h kdc -b uid=anyuser,ou=users,dc=city,dc=realm,dc=tld > user.ldif
deep@host:~$ vim user.ldif
deep@host:~$ cat user.ldif > ldapadd -h kdc

А можно сделать из файла шаблон, и при помощи sed заменять поля из командной строки. Я таким образом создаю целые новые ветки. В общем рекомендую не забывать про консоль.

Комментариев нет: