ldap novell
TRANSCRIPT
![Page 1: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/1.jpg)
LDAP w kontekścieNovell eDirectory
Tomasz Bąk, zima 2004
![Page 2: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/2.jpg)
Novell eDirectory, a LDAP● OpenLDAP i eDirectory są implementacjami tzw
„usług katalogowych”.● eDirectory jest oparty o otwarty standard LDAP,
ale definiuje własne, dodatkowe schematy obiektów.
● Można tak skonfigurować eDirectory, aby inne systemy (np. Solaris, Linux czy FreeBSD) mogły z niego korzystać (za pośrednictwem protokołu LDAP) np. do autentykacji swoich użytkowników.
![Page 3: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/3.jpg)
Usługi katalogowe
Usługi katalogowe to dostępne przez sieć bazy danych. Ich cechami charakterystycznymi są:
● mała ilość danych w każdym zapytaniu/odpowiedzi
● ograniczona funkcjonalność (w porównaniu z systemem bazodanowym ogólnego przeznaczenia)
● aktualizacje (zmiany) są znacznie rzadsze niż zapytania
![Page 4: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/4.jpg)
Struktura● Zwykle informacje w katalogu mają strukturę
hierarchiczną (niemniej nie musi tak być).● Struktura danych (hierarchia) jest wygodna
do przeszukiwania i zapewnia pewne minimalne zależności między obiektami.
![Page 5: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/5.jpg)
Reprezentacja danych w LDAP
Każdy wpis ma niepowtarzalny klucz, tzw „jednoznaczną nazwę” (ang. distinguished name lub krócej: dn).
● Nazwa ta jest opisana w RFC1779 i jest zaprojektowana do używania przez ludzi, a nie tylko komputery.
● Każdy dn jest składa się z komponentów.– Każdy z komponentów jest łańcuchem znaków
zawierającym parę: atrybut=wartość.
![Page 6: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/6.jpg)
Przykładowy dnCN=John Veslay, \OU=Computer Science, \O=Rensselaer Polytechnic Institute, \C=US
Dn jest zwykle zapisywany w jednej linii (co zaznaczyliśmy ukośnikami).
UWAGA: W standardzie LDAP, komponenty dn rozdzielane są przecinkiem, ale np. w natywnym eDirectory separatorem jest znak kropki.
![Page 7: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/7.jpg)
Hierarchia● Podobnie jak w nazwach domen (DNS),
nazwy mogą być interpretowane jako część hierarchii.
● Ostatni komponent dn jest najwyższym poziomem hiararchii
CN=Joe Integral, OU=Math, O=RPI, C=US
![Page 8: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/8.jpg)
Schematy obiektów (schemas)● Ustala reguły opisujące jakie typy danych są
przechowywane w katalogu● Pomagają zarządzać spójnością i jakością danych● Ogranicza duplikowanie danych● Atrybut „objectclass” określa schematy, których musi
przestrzegać obiekt● Schematy obiektów zawierają:
– wymagane atrybuty– dozwolone atrybuty– sposób porównywania atrybutów– ograniczają wielkość pól atrybutów
![Page 9: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/9.jpg)
Funkcjonalności LDAP● dodanie, usunięcie, zmiana wpisu● zmiana jednoznacznej nazwy (DN) wpisu● przeszukiwanie (najczęstrza operacja)
– przeszukiwanie pewnego wycinka katalogu w poszukiwaniu wpisów spełniających pewne określone kryteria
![Page 10: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/10.jpg)
LDAP Data Interchange Format (LDIF)
● przedstawia wpisy LDAP w postaci tekstowej● jest łatwy w odczytywaniu przez człowieka● umożliwia łatwą modyfikację
# Przykład:version: 1dn: cn=johndoe, ou=provo, ou=users, o=novellchangetype: addsn: DoegivenName: JohnobjectClass: inetOrgPersonmail: [email protected]: Password
![Page 11: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/11.jpg)
Inne przykłady LDIFów# modyfikacja adresu emailversion: 1dn: cn=johndoe, ou=provo, ou=users, o=novellchangetype: modifyreplace: mailmail: [email protected]# modyfikacja nazwy usera i przeniesienie go# do innej jednostki organizacyjnejversion: 1dn: cn=johndoe, ou=provo, ou=users, o=novellchangetype: moddnnewrdn: cn=jimmydoedeleteoldrdn: 0newsuperior: ou=toronto, ou=users, o=novell
![Page 12: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/12.jpg)
Parametryzacja przeszukań (w API)
● base – punkt początkowy (root DN) przeszukiwania● scope – [ base | onelevel | subtree ]● time – ograniczenie czasu na wykonanie
przeszukania● size – ograniczenie ilości wyników● attributes – lista zwracanych atrybutów● attrsonly – [ TRUE | FALSE ]● search_filter – filtry zgodnie ze składnia RFC1558
![Page 13: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/13.jpg)
Przeszukiwanie katalogu● Typowe, jedno poziomowe wyszukiwanie w c=US,
zwracające opisy wszystkich jednostek organizacyjnych uczelni:
ldapsearch -L -s one -b "c=US" \ "o=university*" o description
● Wyniki przeszukiwań zwracane są w postaci LDIF, w szczególności można sporządzić export LDAP Schema dla eDirectory przy pomocy wyszukania:
ldapsearch -h <host> -D <admin account> -w \ <admin password> -b "cn=schema" -s base \ "objectclass=subSchema"
![Page 14: Ldap novell](https://reader035.vdocuments.pub/reader035/viewer/2022080211/558a692bd8b42a220a8b461c/html5/thumbnails/14.jpg)
Bardziej szczegółowe opracowania
● „LDAP: An Unsung Hero of the IP Communications Revolution”– http://www.ind.alcatel.com/library/whitepapers/wp_LDAP.pdf
● „How to Make an Existing LDAP Application Work with NDS”– http://developer.novell.com/research/devnotes/2000/june/03/d000603.htm
● „Authenticating Users to UNIX Systems with Novell eDirectory and LDAP”– http://developer.novell.com/research/appnotes/2002/june/02/a020602.htm