際際滷

際際滷Share a Scribd company logo
LDAP w kontekcie
 Novell eDirectory




 Tomasz Bk, zima 2004
Novell eDirectory, a LDAP
   OpenLDAP i eDirectory s implementacjami tzw
    usug katalogowych.
   eDirectory jest oparty o otwarty standard LDAP,
    ale definiuje wasne, dodatkowe schematy
    obiekt坦w.
   Mo甜na tak skonfigurowa eDirectory, aby inne
    systemy (np. Solaris, Linux czy FreeBSD) mogy
    z niego korzysta (za porednictwem protokou
    LDAP) np. do autentykacji swoich u甜ytkownik坦w.
Usugi katalogowe
Usugi katalogowe to dostpne przez sie bazy
 danych. Ich cechami charakterystycznymi s:
   maa 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
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甜noci midzy obiektami.
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 skada si z komponent坦w.
       Ka甜dy z komponent坦w jest acuchem znak坦w
        zawierajcym par: atrybut=warto.
Przykadowy dn
  CN=John Veslay, 
  OU=Computer Science, 
  O=Rensselaer Polytechnic Institute, 
  C=US
Dn jest zwykle zapisywany w jednej linii (co
 zaznaczylimy ukonikami).

UWAGA: W standardzie LDAP, komponenty dn
 rozdzielane s przecinkiem, ale np. w natywnym
 eDirectory separatorem jest znak kropki.
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
Schematy obiekt坦w (schemas)
   Ustala reguy opisujce jakie typy danych s
    przechowywane w katalogu
   Pomagaj zarzdza sp坦jnoci i jakoci danych
   Ogranicza duplikowanie danych
   Atrybut objectclass okrela 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
Funkcjonalnoci LDAP
   dodanie, usunicie, zmiana wpisu
   zmiana jednoznacznej nazwy (DN) wpisu
   przeszukiwanie (najczstrza operacja)
       przeszukiwanie pewnego wycinka katalogu w
        poszukiwaniu wpis坦w speniajcych pewne
        okrelone kryteria
LDAP Data Interchange
         Format (LDIF)
   przedstawia wpisy LDAP w postaci tekstowej
   jest atwy w odczytywaniu przez czowieka
   umo甜liwia atw modyfikacj
     # Przykad:
     version: 1

     dn: cn=johndoe, ou=provo, ou=users, o=novell
     changetype: add
     sn: Doe
     givenName: John
     objectClass: inetOrgPerson
     mail: jdoe@novell.com
     userPassword: Password
Inne przykady LDIF坦w
# modyfikacja adresu email
version: 1

dn: cn=johndoe, ou=provo, ou=users, o=novell
changetype: modify
replace: mail
mail: jdoe@novell.com

# modyfikacja nazwy usera i przeniesienie go
# do innej jednostki organizacyjnej
version: 1

dn: cn=johndoe, ou=provo, ou=users, o=novell
changetype: moddn
newrdn: cn=jimmydoe
deleteoldrdn: 0
newsuperior: ou=toronto, ou=users, o=novell
Parametryzacja przeszuka (w API)

   base  punkt pocztkowy (root DN) przeszukiwania
   scope  [ base | onelevel | subtree ]
   time  ograniczenie czasu na wykonanie
    przeszukania
   size  ograniczenie iloci wynik坦w
   attributes  lista zwracanych atrybut坦w
   attrsonly  [ TRUE | FALSE ]
   search_filter  filtry zgodnie ze skadnia RFC1558
Przeszukiwanie katalogu
   Typowe, jedno poziomowe wyszukiwanie w c=US,
    zwracajce 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坦lnoci mo甜na sporzdzi export LDAP
    Schema dla eDirectory przy pomocy wyszukania:
ldapsearch -h <host> -D <admin account> -w 
  <admin password> -b "cn=schema" -s base 
  "objectclass=subSchema"
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

More Related Content

Similar to Ldap novell (14)

OceanQuery - jzyk zapyta edytora raport坦w
OceanQuery - jzyk zapyta edytora raport坦wOceanQuery - jzyk zapyta edytora raport坦w
OceanQuery - jzyk zapyta edytora raport坦w
matmis
Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...
Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...
Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...
Konrad Sagala
MongoDB 2011
MongoDB 2011MongoDB 2011
MongoDB 2011
Natalia Stanko
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014
Filip Rembialkowski
Mongodb with Rails
Mongodb with RailsMongodb with Rails
Mongodb with Rails
Sebastian Nowak
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
Grzegorz Bartman
REvolution, czyli o bardziej obiektowym podejciu w Railsach
REvolution, czyli o bardziej obiektowym podejciu w RailsachREvolution, czyli o bardziej obiektowym podejciu w Railsach
REvolution, czyli o bardziej obiektowym podejciu w Railsach
The Software House
Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)
Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)
Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)
Codesushi.co (CODESUSHI LLC)
DSL - DYI
DSL - DYIDSL - DYI
DSL - DYI
Maciek Pr坦chniak
Erlang
ErlangErlang
Erlang
konryd
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System
Artur Wronski
Liquibase - database structure versioning
Liquibase - database structure versioningLiquibase - database structure versioning
Liquibase - database structure versioning
Piotr Pelczar
PB.NET II (System.IO)
PB.NET II (System.IO)PB.NET II (System.IO)
PB.NET II (System.IO)
guestca2f46d
[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?
Andrzej Krzywda
OceanQuery - jzyk zapyta edytora raport坦w
OceanQuery - jzyk zapyta edytora raport坦wOceanQuery - jzyk zapyta edytora raport坦w
OceanQuery - jzyk zapyta edytora raport坦w
matmis
Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...
Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...
Zarzdzanie u甜ytkownikami i komputerami w firmie - dlaczego warto zna Active...
Konrad Sagala
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014
Filip Rembialkowski
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
Grzegorz Bartman
REvolution, czyli o bardziej obiektowym podejciu w Railsach
REvolution, czyli o bardziej obiektowym podejciu w RailsachREvolution, czyli o bardziej obiektowym podejciu w Railsach
REvolution, czyli o bardziej obiektowym podejciu w Railsach
The Software House
Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)
Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)
Warsztaty: Podstawy PHP - cze岬sc 2 - omowienie skadni je岬zyka PHP (wersja 7)
Codesushi.co (CODESUSHI LLC)
Erlang
ErlangErlang
Erlang
konryd
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System
Artur Wronski
Liquibase - database structure versioning
Liquibase - database structure versioningLiquibase - database structure versioning
Liquibase - database structure versioning
Piotr Pelczar
PB.NET II (System.IO)
PB.NET II (System.IO)PB.NET II (System.IO)
PB.NET II (System.IO)
guestca2f46d
[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mao - jak 甜y z Railsami?
Andrzej Krzywda

More from Tomasz Bak (18)

Design Patterns in React
Design Patterns in ReactDesign Patterns in React
Design Patterns in React
Tomasz Bak
Building React CRUD app in minutes?
Building React CRUD app in minutes?Building React CRUD app in minutes?
Building React CRUD app in minutes?
Tomasz Bak
How to migrate large project from Angular to React
How to migrate large project from Angular to ReactHow to migrate large project from Angular to React
How to migrate large project from Angular to React
Tomasz Bak
JAMstack
JAMstackJAMstack
JAMstack
Tomasz Bak
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak
How to GraphQL: React Apollo
How to GraphQL: React ApolloHow to GraphQL: React Apollo
How to GraphQL: React Apollo
Tomasz Bak
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
Tomasz Bak
Working with npm packages
Working with npm packagesWorking with npm packages
Working with npm packages
Tomasz Bak
How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak
Functional Reactive Angular 2
Functional Reactive Angular 2 Functional Reactive Angular 2
Functional Reactive Angular 2
Tomasz Bak
Jak wnie wkad w Open Source?
Jak wnie wkad w Open Source?Jak wnie wkad w Open Source?
Jak wnie wkad w Open Source?
Tomasz Bak
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
Tomasz Bak
Replacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with GulpReplacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with Gulp
Tomasz Bak
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJSUlepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Tomasz Bak
Bardziej produktywny gmail
Bardziej produktywny gmailBardziej produktywny gmail
Bardziej produktywny gmail
Tomasz Bak
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
Tomasz Bak
Testowanie JavaScript
Testowanie JavaScriptTestowanie JavaScript
Testowanie JavaScript
Tomasz Bak
Design Patterns in React
Design Patterns in ReactDesign Patterns in React
Design Patterns in React
Tomasz Bak
Building React CRUD app in minutes?
Building React CRUD app in minutes?Building React CRUD app in minutes?
Building React CRUD app in minutes?
Tomasz Bak
How to migrate large project from Angular to React
How to migrate large project from Angular to ReactHow to migrate large project from Angular to React
How to migrate large project from Angular to React
Tomasz Bak
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak
How to GraphQL: React Apollo
How to GraphQL: React ApolloHow to GraphQL: React Apollo
How to GraphQL: React Apollo
Tomasz Bak
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
Tomasz Bak
Working with npm packages
Working with npm packagesWorking with npm packages
Working with npm packages
Tomasz Bak
How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak
Functional Reactive Angular 2
Functional Reactive Angular 2 Functional Reactive Angular 2
Functional Reactive Angular 2
Tomasz Bak
Jak wnie wkad w Open Source?
Jak wnie wkad w Open Source?Jak wnie wkad w Open Source?
Jak wnie wkad w Open Source?
Tomasz Bak
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
Tomasz Bak
Replacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with GulpReplacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with Gulp
Tomasz Bak
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJSUlepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Tomasz Bak
Bardziej produktywny gmail
Bardziej produktywny gmailBardziej produktywny gmail
Bardziej produktywny gmail
Tomasz Bak
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
Tomasz Bak
Testowanie JavaScript
Testowanie JavaScriptTestowanie JavaScript
Testowanie JavaScript
Tomasz Bak

Ldap novell

  • 1. LDAP w kontekcie Novell eDirectory Tomasz Bk, zima 2004
  • 2. Novell eDirectory, a LDAP OpenLDAP i eDirectory s implementacjami tzw usug katalogowych. eDirectory jest oparty o otwarty standard LDAP, ale definiuje wasne, dodatkowe schematy obiekt坦w. Mo甜na tak skonfigurowa eDirectory, aby inne systemy (np. Solaris, Linux czy FreeBSD) mogy z niego korzysta (za porednictwem protokou LDAP) np. do autentykacji swoich u甜ytkownik坦w.
  • 3. Usugi katalogowe Usugi katalogowe to dostpne przez sie bazy danych. Ich cechami charakterystycznymi s: maa 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
  • 4. 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甜noci midzy obiektami.
  • 5. 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 skada si z komponent坦w. Ka甜dy z komponent坦w jest acuchem znak坦w zawierajcym par: atrybut=warto.
  • 6. Przykadowy dn CN=John Veslay, OU=Computer Science, O=Rensselaer Polytechnic Institute, C=US Dn jest zwykle zapisywany w jednej linii (co zaznaczylimy ukonikami). UWAGA: W standardzie LDAP, komponenty dn rozdzielane s przecinkiem, ale np. w natywnym eDirectory separatorem jest znak kropki.
  • 7. 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
  • 8. Schematy obiekt坦w (schemas) Ustala reguy opisujce jakie typy danych s przechowywane w katalogu Pomagaj zarzdza sp坦jnoci i jakoci danych Ogranicza duplikowanie danych Atrybut objectclass okrela 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
  • 9. Funkcjonalnoci LDAP dodanie, usunicie, zmiana wpisu zmiana jednoznacznej nazwy (DN) wpisu przeszukiwanie (najczstrza operacja) przeszukiwanie pewnego wycinka katalogu w poszukiwaniu wpis坦w speniajcych pewne okrelone kryteria
  • 10. LDAP Data Interchange Format (LDIF) przedstawia wpisy LDAP w postaci tekstowej jest atwy w odczytywaniu przez czowieka umo甜liwia atw modyfikacj # Przykad: version: 1 dn: cn=johndoe, ou=provo, ou=users, o=novell changetype: add sn: Doe givenName: John objectClass: inetOrgPerson mail: jdoe@novell.com userPassword: Password
  • 11. Inne przykady LDIF坦w # modyfikacja adresu email version: 1 dn: cn=johndoe, ou=provo, ou=users, o=novell changetype: modify replace: mail mail: jdoe@novell.com # modyfikacja nazwy usera i przeniesienie go # do innej jednostki organizacyjnej version: 1 dn: cn=johndoe, ou=provo, ou=users, o=novell changetype: moddn newrdn: cn=jimmydoe deleteoldrdn: 0 newsuperior: ou=toronto, ou=users, o=novell
  • 12. Parametryzacja przeszuka (w API) base punkt pocztkowy (root DN) przeszukiwania scope [ base | onelevel | subtree ] time ograniczenie czasu na wykonanie przeszukania size ograniczenie iloci wynik坦w attributes lista zwracanych atrybut坦w attrsonly [ TRUE | FALSE ] search_filter filtry zgodnie ze skadnia RFC1558
  • 13. Przeszukiwanie katalogu Typowe, jedno poziomowe wyszukiwanie w c=US, zwracajce 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坦lnoci mo甜na sporzdzi export LDAP Schema dla eDirectory przy pomocy wyszukania: ldapsearch -h <host> -D <admin account> -w <admin password> -b "cn=schema" -s base "objectclass=subSchema"
  • 14. 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