OpenLDAP nabízí pro správu dat v LDAP adresáři celou řadu nástrojů. Čtyři nejdůležitější nástroje pro vkládání, mazání, vyhledávání a úpravy dat jsou popsány dále.
Pokud je LDAP server správně nakonfigurován, tedy pokud jsou v souboru
/etc/openldap/lsapd.conf nastaveny položky
suffix, directory,
rootdn, rootpw a
index, pokračujte vkládáním záznamů. K tomu OpenLDAP
nabízí nástroj ldapadd. Objekty je z praktických důvodů
vhodné vkládat po větších celcích. Vhodný je například LDIF formát (LDAP
Data Interchange Format). LDIF je jednoduchý textový soubor obsahující
páry atribut—hodnota. Dostupné objektové třídy a atributy jsou
definované ve schématech uvedených v souboru
slapd.conf. LDIF soubor k vytvoření hrubé kostry
obrázku 25.1 – „Struktura LDAP adresáře“ by vypadal asi tak, jak je uvedeno
v příkladu 25.7 – „Příklad LDIF souboru“:
Příklad 25.7. Příklad LDIF souboru
# The SUSE Organization dn: dc=suse,dc=de objectClass: dcObject objectClass: organization o: SUSE AG dc: suse # The organizational unit development (devel) dn: ou=devel,dc=suse,dc=de objectClass: organizationalUnit ou: devel # The organizational unit documentation (doc) dn: ou=doc,dc=suse,dc=de objectClass: organizationalUnit ou: doc # The organizational unit internal IT (it) dn: ou=it,dc=suse,dc=de objectClass: organizationalUnit ou: it
![]() | Kódování LDIF souborů |
|---|---|
LDAP pracuje s UTF-8 (Unicode). Používejte proto editor s podporou UTF-8 (např. Kate nebo novější verze editorů Emacs či Vim). Jestliže použijete editor bez podpory UTF-8, budou se špatně zobrazovat znaky s českou diakritikou. Pokud potřebujete převést do UTF-8 již existující text, použijte program recode. | |
Soubor se ukládá s příponou .ldif a
serveru se předává příkazem:
ldapadd -x -D <dn administrátora> -W -f <soubor>.ldif
První parametr, -x, vypíná ověřování pomocí SASL.
Parametr -D specifikuje uživatele, který operaci
volá. Za touto volbou musí následovat DN administrátora tak, jak je
uvedeno v souboru slapd.conf. V našem případě
jde o cn=admin,dc=suse,dc=de. Přepínač
-W obejde zadávání hesla přímo na příkazovém řádku
(v prostém textu) a zobrazí zvláštní výzvu k zadání hesla. Jde o heslo
ze souboru slapd.conf (rootpw).
Parametrem -f předáte jméno souboru. Ukázku běhu
programu ldapadd si můžete prohlédnout v příkladu
25.8 – „Použití ldapadd s example.ldif“.
Příklad 25.8. Použití ldapadd s example.ldif
ldapadd -x -D cn=admin,dc=suse,dc=de -W -f example.ldif Enter LDAP password: adding new entry "dc=suse,dc=de" adding new entry "ou=devel,dc=suse,dc=de" adding new entry "ou=doc,dc=suse,dc=de" adding new entry "ou=it,dc=suse,dc=de"
Data jednotlivých uživatelů lze připravit v oddělených LDIF souborech.
Příklad 25.9 – „LDIF data uživatele Tux“ přidává do LDAP adresáře
uživatele Tux:
Příklad 25.9. LDIF data uživatele Tux
# coworker Tux dn: cn=Tux Linux,ou=devel,dc=suse,dc=de objectClass: inetOrgPerson cn: Tux Linux givenName: Tux sn: Linux mail: tux@suse.de uid: tux telephoneNumber: +49 1234 567-8
LDIF soubor může obsahovat libovolné množství objektů. Jednotlivé větve stromu je tak možné vložit do databáze najednou nebo po částech. Pokud se některé části mění častěji, je vhodné je oddělit zvlášť.
K úpravě dat se používá příkaz ldapmodify.
Nejjednodušší způsob je změnit patřičný LDIF soubor a ten pak
předat serveru. Pokud byste např. chtěli změnit telefonní číslo
kolegy Tuxe z +49 1234 567-8 na
+49 1234 567-10, změňte LDIF soubor tak, jak
je uvedeno v příkladu 25.10 – „Upravený LDIF soubor tux.ldif“:
Příklad 25.10. Upravený LDIF soubor tux.ldif
# coworker Tux dn: cn=Tux Linux,ou=devel,dc=suse,dc=de changetype: modify replace: telephoneNumber telephoneNumber: +49 1234 567-10
Upravený soubor importujete do adresáře na serveru příkazem:
ldapmodify -x -D cn=admin,dc=suse,dc=de -W -f tux.ldif
Vlastnosti lze měnit i přímo následujícím postupem:
Spusťte příkaz ldapmodify a zadejte heslo:
ldapmodify -x -D cn=admin,dc=suse,dc=de -W Enter LDAP password:
Při zadání změn je nutné dodržovat syntaxi. Příkazy pro náš případ vypadají takto:
dn: cn=Tux Linux,ou=devel,dc=suse,dc=de changetype: modify replace: telephoneNumber telephoneNumber: +49 1234 567-10
Více informací o ldapmodify a příslušné syntaxi najdete v jeho manuálové stránce (ldapmodify(1)).
OpenLDAP poskytuje nástroj ldapsearch pro vyhledávání a čtení dat z LDAP adresáře. Jednoduchý dotaz má následující syntaxi:
ldapsearch -x -b dc=suse,dc=de "(objectClass=*)"
Parametrem -b nastavíte vyhledávací základnu
(search base), tj. sekci stromu, která má být
prohledána, v našem případě dc=suse,dc=de.
Volba -x zapíná jednoduchou autentizaci.
(objectClass=*) určuje, že budou čteny všechny objekty
v adresáři. Tento příkaz je vhodný např. k ověření správnosti záznamů po
vytvoření nového adresářového stromu. Více informací najdete v manuálové
stránce ldapsearch(1).