SlideShare una empresa de Scribd logo
1 de 24
Amit mindig is tudni akartál az
          LDAP-ról,
de sosem merted megkérdezni




             Szalai Ferenc
            szferi@gluon.hu



                              http://www.gluon.hu
Bevezető
●
    Mi szösz az az LDAP?
●
    OpenLDAP szerver
    –   adatbázis felépítése
    –   szerver beállítása
●
    Mire jó az LDAP
    –   központosított felhasználó kezelés
●
    Ízelítő egyéb felhasználásból


                                             http://www.gluon.hu
Mi a szösz az az LDAP?
●
    LDAP: Lightweight Directory Access
    Protocol
●
    Mi az szösz az a Directory?: Információ
    tárolása hierarchikus szerkezetben
    –   Példák: állományrendszer, DNS
    –   valójában: speciális szerkezetű adatbázis
    –   fő szempontok: gyors keresés, objektum
        orientált szemlélet, egyszerű adatfrissítés
        tranzakciók nélkül
    –   speciális protokoll rendszer: DAP
                                            http://www.gluon.hu
DAP alapok
●
    DAP: Directory Access Protocol
    –   Kliens, szerver modell olyan megkötéssel,
        hogy egy kliens csak egy szerverrel beszélget
        a többit a szerverek oldják meg
    –   szerver: információt tárolja
    –   kliens: lekérdezéseket végez a szerveren
    –   szerver is tud kapcsolódni a klienshez
    –   bármilyen formátumú adat bármilyen
        hierarhikus formátumban történő kezelése,
        alapvetően elosztott tervezési modell
●
    Bajok: bonyolult, egyszerűsítés: LDAP
                                            http://www.gluon.hu
LDAP
●
    Információs modell: ASCII alapú
●
    TCP/IP felett működik
●
    egyszerű kliens-szerver modell
●
    flexibilis azonosítási mechanizmus
●
    elosztott műveletek
●
    protokoll és információs modell bővíthető
    speciális feladatokra
●
    de facto standard C API
                                      http://www.gluon.hu
LDAP Információs modell
●
    X.500 alapok
●
    Adatot elemi bejegyzések sora alkotja
●
    A bejegyzéseket fába rendezzük:
    Directory Information Tree (DIT)
●
    Fa minden csomópontjának van neve
    (Relative Distinguished Name): cn=Feri
●
    Fa minden csomópontjának a helye az
    RDN-ek sorával adható meg (DN):
    –   DN: cn=Feri,o=gluon,c=hu
                                       http://www.gluon.hu
DIT




      http://www.gluon.hu
Adat a DIT-ben
●
    Adatbázis bejegyzés: Objektum
●
    Objektum: attribútumok halmaza
●
    Attribútumok: név, érték párok
●
    Attribútum: azonosító, típus,
    összehasonlítási szabály (séma)
●
    Lehetséges attribútumok osztályokba
    (ObjectClass) szervezendők (séma)
●
    Egyszerű öröklődés
●
    Külön séma leíró nyelv
                                      http://www.gluon.hu
Példa
●
    Person objectclass:
    –   attribútumok: cn, surname, postoffice, etc.
●
    CN attribútum: Common Name (általános
    név), string tipusú,
●
    OrganizationalPerson objectclass: a
    Person-ból öröklődik
    –   attribútumok: ua. mint People + pl.:
        RoomNumber


                                           http://www.gluon.hu
ObjectClass típusok
●
    Öröklődés szabályozása
●
    ABSTRACT: csak az öröklődési hierarchia
    felépítésére használjuk
●
    STRUCTURAL: általános leírása a
    dolgoknak, egy osztály csak egy ilyen
    objectclass-ot valósíthat meg (öröklődési
    fát is figyelembe véve)
●
    AUXILIARY: kiegészítő attribútumok

                                     http://www.gluon.hu
LDIF – LDAP Data
Interchange Fromat
●
    RFC 2849




                     http://www.gluon.hu
LDIF – LDAP Data
Interchange Fromat
 ●
     RFC 2849                                Értékek
         dn: cn=Feri,o=Gluon,c=hu
         ObjectClass: top
         ObjectClass: person
         ObjectClass: posixAccount
         cn: Feri
         mail: szferi@niif.hu
         mail: szferi@gluon.hu
         telefphonNumber: 12345678
         userPassword:: e2NyeXB0fUNwLkyUi9G33UUU=


Attribútumok

                                           http://www.gluon.hu
LDAP szerverek
●
    Microsoft AD, Netscape DS, Sun JDS, IBM
    stb. Számos ezek közül ingyenes
●
    Nyílt forrású LDAP szerverek:
    –   OpenLDAP
    –   Fedora DS
●
    OpenLDAP: egyszerű, bővíthető a
    legfontosabb tulajdonságokkal
    rendelkezik, kis- és közepes szervezetek
    számára
                                    http://www.gluon.hu
OpenLDAP architektúra




                    http://www.gluon.hu
OpenLDAP telepítés és
konfiguráció
●   apt­get install slapd
●
    Fő konfigurációs állomány
    /etc/ldap/slapd.conf
●
    Sémák: /etc/ldap/schema/
●
    Adatbázis backendek:
    –   ldbm, bdb, shell, ldap, sql




                                      http://www.gluon.hu
slapd.conf
# This is the main slapd configuration file.
include         /etc/ldap/schema/core.schema
schemacheck     on
modulepath /usr/lib/ldap
moduleload back_bdb
database        bdb
suffix          "o=gluon,c=hu"
directory       "/var/lib/ldap"
index           objectClass eq
access to attrs=userPassword
        by dn="cn=admin,o=gluon,c=hu" write
        by anonymous auth
        by self write
        by * none
        by * read



                                               http://www.gluon.hu
ldap-utils
●
    Parancssori ldap kliensek:
    –   ldapsearch: kereses lekérdezés
    –   ldapadd: adatbetöltés
    –   ldapmodify: adatmódosítás
ldapseach ­x ­LLL ­w 
 ­b ou=People,o=gluon,c=hu 
 ­D uid=admin,o=gluon,c=hu 
 (uid=bela*) cn
(&(uid=*)(|(AuthorizedService=ssh)(role=admin))) 

                                         http://www.gluon.hu
Mire jó az LDAP?
●
    Röviden: sokmindenre
●
    Hosszabban:
    –   Sok felhasználó: sok gép
    –   Egységes adminisztráció egyedi jelszó
        (passwd) állományok helyett
    –   Ún. felhasználói profil kezelése
    –   virtuális felhasználók (nincs home könyvtár,
        írási jog): levelezés, web hozzáférés


                                           http://www.gluon.hu
Linux felhasználói azonosítás
mechanizmusa
●
    NSS (Name Service Switch): névfeloldás
    –   uid, gid, DNS, /etc/services, /etc/porotocols
        stb.
    –   glibc része get*byname jellegű függvények
    –   username -> uid (ha sikerül létezik)
●
    PAM: Plugable Authentication Module
    –   /etc/pam.d, /etc/pam.conf
    –   azonosítás (pl.: jelszóellenőrzés) elvégzése
    –   felhasználói környezet kialakítása belépés
        után                                http://www.gluon.hu
PAM
●
    alkalmazásokat (login, ssh stb.) fel kell
    készíteni a használatára
●
    modulok: azonosítási adatbázisok
    kezelése pl.: unix, ldap, sql
●
    minen alkalmazás azonosítási
    mechanizmusa külön konfigurálható
●
    több modult is lehet egyszerre haszálni
    (pl.: először megpróbálom az LDAP-ot, ha
    nem megy, akkor a passwd állományt)
                                      http://www.gluon.hu
LDAP: NSS, PAM
 ●
     apt-get install libnss-ldap, pam-ldap
 ●
     /etc/pam_ldap.conf
 ●
     /etc/libnss-ldap.conf,
 ●
     /etc/nsswitch.conf
cat /etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap




                                       http://www.gluon.hu
Felhasználói azonosítás
OpenLDAP szerveren
●
    BIND parancs: DN, titok pár üzenet
●
    Titok: jelszó, kódolt jelszó stb.
●
    Módszerek: sima jelszó, SASL, TLS
●
    Miden DIT belei elemhez lehet UserPassword
    attribútumot rendelni
●
    Azonosítás lépései:
    –   SSH (felhaszáló név, jelszó)
    –   LDAP keresés, LDAP bind
    –   Sikeres bind után engedélyezzük a belépést
                                          http://www.gluon.hu
LDAP adatbázis kezelése
●
    ldap-utils
●
    phpldapadmin
●
    gq
●
    Egyedi megoldások




                        http://www.gluon.hu
Mit tud LDAP-ot haszálni?
●
    ssh, login
●
    levelező kliens: címadatbázis
●
    levelező szerver: felhasználó adatbázis
●
    IMAP/POP szerverek
●
    Web szerver: azonosítás, virtuális
    domainek stb.
●
    FTP szerver, Samba (gépek is)
●
    DNS szerver (pl.: PowerDNS)
                                     http://www.gluon.hu

Más contenido relacionado

Similar a Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni

SUSE Linux Enterprise 11 admin 2
SUSE Linux Enterprise 11 admin 2SUSE Linux Enterprise 11 admin 2
SUSE Linux Enterprise 11 admin 2Kálmán Kéménczy
 
Lévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotor
Lévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotorLévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotor
Lévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotorHUNMOOT
 
Grid Underground projekt
Grid Underground projektGrid Underground projekt
Grid Underground projektFerenc Szalai
 
Grid és adattárolás
Grid és adattárolásGrid és adattárolás
Grid és adattárolásFerenc Szalai
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Open Academy
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekJános Pásztor
 
Klaszter állományrendszerektől a grid adattárolásig és vissza
Klaszter állományrendszerektől a grid adattárolásig és visszaKlaszter állományrendszerektől a grid adattárolásig és vissza
Klaszter állományrendszerektől a grid adattárolásig és visszaFerenc Szalai
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddalthesnufkin
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Open Academy
 
Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Balint Erdi
 
Pihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velPihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velBalint Erdi
 
A PHP 5.4 újdonságai
A PHP 5.4 újdonságaiA PHP 5.4 újdonságai
A PHP 5.4 újdonságaiFerenc Kovács
 
Klaszter és virtualizációs technikák
Klaszter és virtualizációs technikákKlaszter és virtualizációs technikák
Klaszter és virtualizációs technikákFerenc Szalai
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
Drupal gyorstárazási stratégiák
Drupal gyorstárazási stratégiákDrupal gyorstárazási stratégiák
Drupal gyorstárazási stratégiákJános Fehér
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaFerenc Kovács
 

Similar a Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni (20)

SUSE Linux Enterprise 11 admin 2
SUSE Linux Enterprise 11 admin 2SUSE Linux Enterprise 11 admin 2
SUSE Linux Enterprise 11 admin 2
 
Lévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotor
Lévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotorLévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotor
Lévai Dóra, Molnár Patrik: ELGG, nyílt forráskódú közösségi portálmotor
 
Grid Underground projekt
Grid Underground projektGrid Underground projekt
Grid Underground projekt
 
Grid és adattárolás
Grid és adattárolásGrid és adattárolás
Grid és adattárolás
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
 
Sles admin
Sles adminSles admin
Sles admin
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknek
 
Klaszter állományrendszerektől a grid adattárolásig és vissza
Klaszter állományrendszerektől a grid adattárolásig és visszaKlaszter állományrendszerektől a grid adattárolásig és vissza
Klaszter állományrendszerektől a grid adattárolásig és vissza
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
 
Drupal security
Drupal securityDrupal security
Drupal security
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!
 
Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Couchdb - WebKonf 2009
Couchdb - WebKonf 2009
 
Pihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velPihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-vel
 
A PHP 5.4 újdonságai
A PHP 5.4 újdonságaiA PHP 5.4 újdonságai
A PHP 5.4 újdonságai
 
Klaszter és virtualizációs technikák
Klaszter és virtualizációs technikákKlaszter és virtualizációs technikák
Klaszter és virtualizációs technikák
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
Hello Laravel 5!
Hello Laravel 5!Hello Laravel 5!
Hello Laravel 5!
 
Drupal gyorstárazási stratégiák
Drupal gyorstárazási stratégiákDrupal gyorstárazási stratégiák
Drupal gyorstárazási stratégiák
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálása
 
Dcourse Drupal 6 architecture
Dcourse Drupal 6 architectureDcourse Drupal 6 architecture
Dcourse Drupal 6 architecture
 

Más de Ferenc Szalai

Hardware Renaissance
Hardware RenaissanceHardware Renaissance
Hardware RenaissanceFerenc Szalai
 
Linux adattárolási képességei
Linux adattárolási képességeiLinux adattárolási képességei
Linux adattárolási képességeiFerenc Szalai
 
Virtualizáció Linuxon: XEN
Virtualizáció Linuxon: XENVirtualizáció Linuxon: XEN
Virtualizáció Linuxon: XENFerenc Szalai
 
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...Ferenc Szalai
 
Mesterséges agyak - scifi és valóság határán
Mesterséges agyak - scifi és valóság határánMesterséges agyak - scifi és valóság határán
Mesterséges agyak - scifi és valóság határánFerenc Szalai
 
Emlekező áramköri elemek fizikája
Emlekező áramköri elemek fizikájaEmlekező áramköri elemek fizikája
Emlekező áramköri elemek fizikájaFerenc Szalai
 
Science Meetup bemutató
Science Meetup bemutatóScience Meetup bemutató
Science Meetup bemutatóFerenc Szalai
 
Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...
Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...
Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...Ferenc Szalai
 
Adattároló klaszterek
Adattároló klaszterekAdattároló klaszterek
Adattároló klaszterekFerenc Szalai
 
Identity 2.0 - a vágy titogzatos tárgya
Identity 2.0 - a vágy titogzatos tárgyaIdentity 2.0 - a vágy titogzatos tárgya
Identity 2.0 - a vágy titogzatos tárgyaFerenc Szalai
 
Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...
Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...
Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...Ferenc Szalai
 
Budapest New Technology Meetup - az elmúlt egy évünk
Budapest New Technology Meetup - az elmúlt egy évünkBudapest New Technology Meetup - az elmúlt egy évünk
Budapest New Technology Meetup - az elmúlt egy évünkFerenc Szalai
 
Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...
Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...
Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...Ferenc Szalai
 
Alapvető beállítások egy levelező rendszer működéséhez
Alapvető beállítások egy levelező rendszer működéséhezAlapvető beállítások egy levelező rendszer működéséhez
Alapvető beállítások egy levelező rendszer működéséhezFerenc Szalai
 
Ata-over-Ethernet és Coraid
Ata-over-Ethernet és CoraidAta-over-Ethernet és Coraid
Ata-over-Ethernet és CoraidFerenc Szalai
 
Kutatokejszakaja 2008 - személyes bemutatkozás
Kutatokejszakaja 2008 - személyes bemutatkozásKutatokejszakaja 2008 - személyes bemutatkozás
Kutatokejszakaja 2008 - személyes bemutatkozásFerenc Szalai
 
Egy kutató elme mindennapjai
Egy kutató elme mindennapjaiEgy kutató elme mindennapjai
Egy kutató elme mindennapjaiFerenc Szalai
 
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonVirtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonFerenc Szalai
 

Más de Ferenc Szalai (20)

Hardware Renaissance
Hardware RenaissanceHardware Renaissance
Hardware Renaissance
 
Linux adattárolási képességei
Linux adattárolási képességeiLinux adattárolási képességei
Linux adattárolási képességei
 
Virtualizáció Linuxon: XEN
Virtualizáció Linuxon: XENVirtualizáció Linuxon: XEN
Virtualizáció Linuxon: XEN
 
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
 
Mesterséges agyak - scifi és valóság határán
Mesterséges agyak - scifi és valóság határánMesterséges agyak - scifi és valóság határán
Mesterséges agyak - scifi és valóság határán
 
Emlekező áramköri elemek fizikája
Emlekező áramköri elemek fizikájaEmlekező áramköri elemek fizikája
Emlekező áramköri elemek fizikája
 
Science Meetup bemutató
Science Meetup bemutatóScience Meetup bemutató
Science Meetup bemutató
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...
Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...
Nagy-teljesítményű, költséghatékony adattárolási technológiák könyvtári körny...
 
Adattároló klaszterek
Adattároló klaszterekAdattároló klaszterek
Adattároló klaszterek
 
Identity 2.0 - a vágy titogzatos tárgya
Identity 2.0 - a vágy titogzatos tárgyaIdentity 2.0 - a vágy titogzatos tárgya
Identity 2.0 - a vágy titogzatos tárgya
 
Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...
Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...
Grid Underground (GUG) - avagy hogyan építsünk IT szolgáltatás hálózatot a su...
 
Budapest New Technology Meetup - az elmúlt egy évünk
Budapest New Technology Meetup - az elmúlt egy évünkBudapest New Technology Meetup - az elmúlt egy évünk
Budapest New Technology Meetup - az elmúlt egy évünk
 
Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...
Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...
Az agy túlélő készlete - avagy tanulási tanácsok az iskolapad utáni mindennap...
 
Alapvető beállítások egy levelező rendszer működéséhez
Alapvető beállítások egy levelező rendszer működéséhezAlapvető beállítások egy levelező rendszer működéséhez
Alapvető beállítások egy levelező rendszer működéséhez
 
Ata-over-Ethernet és Coraid
Ata-over-Ethernet és CoraidAta-over-Ethernet és Coraid
Ata-over-Ethernet és Coraid
 
Xen klaszterek
Xen klaszterekXen klaszterek
Xen klaszterek
 
Kutatokejszakaja 2008 - személyes bemutatkozás
Kutatokejszakaja 2008 - személyes bemutatkozásKutatokejszakaja 2008 - személyes bemutatkozás
Kutatokejszakaja 2008 - személyes bemutatkozás
 
Egy kutató elme mindennapjai
Egy kutató elme mindennapjaiEgy kutató elme mindennapjai
Egy kutató elme mindennapjai
 
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonVirtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
 

Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni

  • 1. Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni Szalai Ferenc szferi@gluon.hu http://www.gluon.hu
  • 2. Bevezető ● Mi szösz az az LDAP? ● OpenLDAP szerver – adatbázis felépítése – szerver beállítása ● Mire jó az LDAP – központosított felhasználó kezelés ● Ízelítő egyéb felhasználásból http://www.gluon.hu
  • 3. Mi a szösz az az LDAP? ● LDAP: Lightweight Directory Access Protocol ● Mi az szösz az a Directory?: Információ tárolása hierarchikus szerkezetben – Példák: állományrendszer, DNS – valójában: speciális szerkezetű adatbázis – fő szempontok: gyors keresés, objektum orientált szemlélet, egyszerű adatfrissítés tranzakciók nélkül – speciális protokoll rendszer: DAP http://www.gluon.hu
  • 4. DAP alapok ● DAP: Directory Access Protocol – Kliens, szerver modell olyan megkötéssel, hogy egy kliens csak egy szerverrel beszélget a többit a szerverek oldják meg – szerver: információt tárolja – kliens: lekérdezéseket végez a szerveren – szerver is tud kapcsolódni a klienshez – bármilyen formátumú adat bármilyen hierarhikus formátumban történő kezelése, alapvetően elosztott tervezési modell ● Bajok: bonyolult, egyszerűsítés: LDAP http://www.gluon.hu
  • 5. LDAP ● Információs modell: ASCII alapú ● TCP/IP felett működik ● egyszerű kliens-szerver modell ● flexibilis azonosítási mechanizmus ● elosztott műveletek ● protokoll és információs modell bővíthető speciális feladatokra ● de facto standard C API http://www.gluon.hu
  • 6. LDAP Információs modell ● X.500 alapok ● Adatot elemi bejegyzések sora alkotja ● A bejegyzéseket fába rendezzük: Directory Information Tree (DIT) ● Fa minden csomópontjának van neve (Relative Distinguished Name): cn=Feri ● Fa minden csomópontjának a helye az RDN-ek sorával adható meg (DN): – DN: cn=Feri,o=gluon,c=hu http://www.gluon.hu
  • 7. DIT http://www.gluon.hu
  • 8. Adat a DIT-ben ● Adatbázis bejegyzés: Objektum ● Objektum: attribútumok halmaza ● Attribútumok: név, érték párok ● Attribútum: azonosító, típus, összehasonlítási szabály (séma) ● Lehetséges attribútumok osztályokba (ObjectClass) szervezendők (séma) ● Egyszerű öröklődés ● Külön séma leíró nyelv http://www.gluon.hu
  • 9. Példa ● Person objectclass: – attribútumok: cn, surname, postoffice, etc. ● CN attribútum: Common Name (általános név), string tipusú, ● OrganizationalPerson objectclass: a Person-ból öröklődik – attribútumok: ua. mint People + pl.: RoomNumber http://www.gluon.hu
  • 10. ObjectClass típusok ● Öröklődés szabályozása ● ABSTRACT: csak az öröklődési hierarchia felépítésére használjuk ● STRUCTURAL: általános leírása a dolgoknak, egy osztály csak egy ilyen objectclass-ot valósíthat meg (öröklődési fát is figyelembe véve) ● AUXILIARY: kiegészítő attribútumok http://www.gluon.hu
  • 11. LDIF – LDAP Data Interchange Fromat ● RFC 2849 http://www.gluon.hu
  • 12. LDIF – LDAP Data Interchange Fromat ● RFC 2849 Értékek dn: cn=Feri,o=Gluon,c=hu ObjectClass: top ObjectClass: person ObjectClass: posixAccount cn: Feri mail: szferi@niif.hu mail: szferi@gluon.hu telefphonNumber: 12345678 userPassword:: e2NyeXB0fUNwLkyUi9G33UUU= Attribútumok http://www.gluon.hu
  • 13. LDAP szerverek ● Microsoft AD, Netscape DS, Sun JDS, IBM stb. Számos ezek közül ingyenes ● Nyílt forrású LDAP szerverek: – OpenLDAP – Fedora DS ● OpenLDAP: egyszerű, bővíthető a legfontosabb tulajdonságokkal rendelkezik, kis- és közepes szervezetek számára http://www.gluon.hu
  • 14. OpenLDAP architektúra http://www.gluon.hu
  • 15. OpenLDAP telepítés és konfiguráció ● apt­get install slapd ● Fő konfigurációs állomány /etc/ldap/slapd.conf ● Sémák: /etc/ldap/schema/ ● Adatbázis backendek: – ldbm, bdb, shell, ldap, sql http://www.gluon.hu
  • 17. ldap-utils ● Parancssori ldap kliensek: – ldapsearch: kereses lekérdezés – ldapadd: adatbetöltés – ldapmodify: adatmódosítás ldapseach ­x ­LLL ­w  ­b ou=People,o=gluon,c=hu  ­D uid=admin,o=gluon,c=hu  (uid=bela*) cn (&(uid=*)(|(AuthorizedService=ssh)(role=admin)))  http://www.gluon.hu
  • 18. Mire jó az LDAP? ● Röviden: sokmindenre ● Hosszabban: – Sok felhasználó: sok gép – Egységes adminisztráció egyedi jelszó (passwd) állományok helyett – Ún. felhasználói profil kezelése – virtuális felhasználók (nincs home könyvtár, írási jog): levelezés, web hozzáférés http://www.gluon.hu
  • 19. Linux felhasználói azonosítás mechanizmusa ● NSS (Name Service Switch): névfeloldás – uid, gid, DNS, /etc/services, /etc/porotocols stb. – glibc része get*byname jellegű függvények – username -> uid (ha sikerül létezik) ● PAM: Plugable Authentication Module – /etc/pam.d, /etc/pam.conf – azonosítás (pl.: jelszóellenőrzés) elvégzése – felhasználói környezet kialakítása belépés után http://www.gluon.hu
  • 20. PAM ● alkalmazásokat (login, ssh stb.) fel kell készíteni a használatára ● modulok: azonosítási adatbázisok kezelése pl.: unix, ldap, sql ● minen alkalmazás azonosítási mechanizmusa külön konfigurálható ● több modult is lehet egyszerre haszálni (pl.: először megpróbálom az LDAP-ot, ha nem megy, akkor a passwd állományt) http://www.gluon.hu
  • 21. LDAP: NSS, PAM ● apt-get install libnss-ldap, pam-ldap ● /etc/pam_ldap.conf ● /etc/libnss-ldap.conf, ● /etc/nsswitch.conf cat /etc/nsswitch.conf passwd: compat ldap group: compat ldap shadow: compat ldap http://www.gluon.hu
  • 22. Felhasználói azonosítás OpenLDAP szerveren ● BIND parancs: DN, titok pár üzenet ● Titok: jelszó, kódolt jelszó stb. ● Módszerek: sima jelszó, SASL, TLS ● Miden DIT belei elemhez lehet UserPassword attribútumot rendelni ● Azonosítás lépései: – SSH (felhaszáló név, jelszó) – LDAP keresés, LDAP bind – Sikeres bind után engedélyezzük a belépést http://www.gluon.hu
  • 23. LDAP adatbázis kezelése ● ldap-utils ● phpldapadmin ● gq ● Egyedi megoldások http://www.gluon.hu
  • 24. Mit tud LDAP-ot haszálni? ● ssh, login ● levelező kliens: címadatbázis ● levelező szerver: felhasználó adatbázis ● IMAP/POP szerverek ● Web szerver: azonosítás, virtuális domainek stb. ● FTP szerver, Samba (gépek is) ● DNS szerver (pl.: PowerDNS) http://www.gluon.hu