ÅbnLDAP
| ÅbnLDAP | ||
|---|---|---|
| Generel information | ||
| programtype | gratis software | |
| Forfatter | OpenLDAP-projekt | |
| Udvikler | samfund udviklet LDAP-software | |
| Udviklingsmodel | Open Source | |
| Licens | OpenLDAP Public License [ 1 ] | |
| Teknisk information | ||
| Planlagt ind | C | |
| Versioner | ||
| Seneste stabile version | 2.6.314. juli 2022 | |
| læsbare filer | ||
| LDAP Data Interchange Format | ||
| redigerbare filer | ||
| LDAP Data Interchange Format | ||
| Links | ||
OpenLDAP er en gratis og open source-implementering af Lightweight Directory Access Protocol ( LDAP ) udviklet af OpenLDAP-projektet.
Den er udgivet under sin egen OpenLDAP Public License . LDAP er en platformsuafhængig kommunikationsprotokol.
Mange GNU/Linux-distributioner inkluderer OpenLDAP-software til LDAP -understøttelse . Denne software kører også på BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT og derivater, inklusive 2000, XP, Vista) og z/OS platforme.
Historie
OpenLDAP-projektet blev startet i 1998 af Kurt Zeilenga . Projektet begyndte som en klon af LDAP-implementeringen af University of Michigan, den enhed, hvor LDAP-protokollen oprindeligt blev udviklet, og som også i øjeblikket arbejder på dens udvikling.
Fra april 2006 omfatter OpenLDAP-projektet tre kernemedlemmer: Howard Chu (chefarkitekt), Pierangelo Masarati og Kurt Zeilenga. Der er andre vigtige og aktive bidragydere, herunder Luke Howard, Hallvard Furuseth, Quanah Gibson-Mount og Gavin Henry.
Komponenter
Grundlæggende har OpenLDAP tre hovedkomponenter:
- slapd -Serverdæmon og værktøjer
- Biblioteker, der implementerer LDAP-protokollen
- Klientprogrammer: ldapsearch, ldapadd, ldapdelete, blandt andre
Derudover er OpenLDAP-projektet vært for underprojekterne:
- JLDAP - LDAP-klassebibliotek til Java
- JDBC-LDAP - Java JDBC Driver - LDAP
- ldapc++ - LDAP-klassebibliotek til C++
Backends
Generelt koncept
Historisk set var arkitekturen af OpenLDAP-serveren (slapd, Standalone LDAP Daemon) delt mellem en frontsektion, der håndterer netværksforbindelser og protokolbehandling, og en backend-database, der kun beskæftiger sig med lagring af data. Arkitekturen er modulopbygget, og en række backends er tilgængelige til at interface med andre teknologier, ikke kun traditionelle databaser.
Bemærk: I ældre versioner (1.x) kunne termerne "backend" og "database" bruges i flæng. For at være præcis er en "backend" en lagergrænsefladeklasse, og en database er en instans af en backend. Slapd-serveren kan bruge vilkårligt flere backends på én gang, og kan have vilkårligt mange forekomster af hver backend (f.eks. flere databaser) aktive ad gangen.
Tilgængelige backends
I øjeblikket leveres 16 forskellige backends i OpenLDAP-distributionen, og flere tredjepartsudbydere er kendt for at vedligeholde andre backends uafhængigt. Standard backends er løst organiseret i tre kategorier:
- Data Storage backends - disse gemmer faktisk information
- back-bdb: den første transaktionelle backend til OpenLDAP, bygget til BerkeleyDB
- back-hdb: en variant af back-bdb, der er fuldt hierarkisk og understøtter omdøbning af undertræer
- back-ldif: indbygget LDIF-filer med almindelig tekst
- back-ndb – en transaktionel backend bygget til MySQL's NDB cluster engine
- Proxy backends - fungerer som gateways til andre datalagringssystemer
- back-ldap: simpel proxy til andre LDAP-servere
- back-meta: proxy med meta-mappefunktioner
- back-passwd: brug et Unix-baseret system med passwd og gruppedata
- back-relay: internt omdirigerer til andre slapd server backends
- back-sql: Opret forbindelser til SQL-databaser
- Dynamiske backends - disse genererer data på farten
- back-config: slapd server konfiguration via LDAP
- back-dnssrv: lokaliser LDAP-servere via DNS
- back-monitor: slapd statistik via LDAP
- back-null: en null backend, analog med /dev/null på Unix
- back-perl: påberåber vilkårligt perl-moduler som svar på LDAP-anmodninger
- back-shell: kalder shell-scripts til LDAP-anmodninger
- back-sock: omdiriger LDAP-anmodninger over IPC til dæmoner vilkårligt
Nogle backends, der er tilgængelige i ældre OpenLDAP-udgivelser, er blevet fjernet, især back-ldbm, som blev nedarvet fra den originale UMich-kode, og back-tcl, der lignede back-perl og back-shell.
I praksis tillader backends som -perl, -shell og -sock grænseflader med ethvert programmeringssprog, hvilket giver ubegrænsede muligheder for tilpasning og udvidelse. I realiteten bliver slapd-serveren en RPC-motor med en kompakt, veldefineret og allestedsnærværende applikationsprogrammeringsgrænseflade (API).
Overlejringer
Generelt koncept
Typisk modtages en LDAP-anmodning af frontenden, dekodes og sendes derefter videre til en backend til behandling. Når backend fuldfører anmodningen, returnerer den et resultat til frontend, som derefter sender resultatet til LDAP-klienten. Et overlay er et stykke kode, der kan indsættes mellem frontend og backend. Det er så i stand til at opsnappe anmodninger og starte andre handlinger på dem, før backend modtager dem, og det kan også reagere på backends resultater, før de når frontend. Overlays har fuld adgang til slapd-serverens interne programmeringsgrænseflader (API'er), og kan således påkalde ethvert opkald, der måtte blive foretaget af frontend eller andre backends. Flere overlejringer kan bruges på én gang og danner en stak af moduler mellem frontend og backend.
Overlays giver et simpelt middel til at øge funktionaliteten af en database uden at kræve, at en helt ny backend skal skrives, og tillader ny funktionalitet at blive tilføjet i et kompakt, let fejlfindbart og vedligeholdeligt modul. Siden introduktionen af overlejringsfunktionen i OpenLDAP 2.2 er mange nye overlejringer blevet bidraget fra OpenLDAP-fællesskabet.
Tilgængelige overlejringer
Der er i øjeblikket 20 overlejringer i OpenLDAP-kernedistributionen, med yderligere 10 overlejringer i brugerbidragssektionen, og flere afventer godkendelse til at blive tilføjet.
- Overlejringer inkluderet i kernen inkluderer:
- accesslog: aktivitetslogserver i en anden LDAP-database, til aktivitetslog tilgængelig for LDAP
- auditlog - serveraktivitetslog til en almindelig tekstfil
- kæde: opsnapper referencer og kæder dem sammen; koden er en del af back-ldap
- collect: implementerer X.500-stil attributter (også kendt som Netscape Class Of Service)
- begrænsning: begrænser de acceptable værdier for bestemte attributter
- dds: dynamisk datatjeneste - kortvarige, selvudløbende poster
- deref: returnerer information om refererede poster i givne søgeresultater
- dyngroup: simpel dynamisk gruppestøtte
- dynlist: mere sofistikeret dynamisk gruppesupport og andre funktioner
- memberof: understøttelse af memberOf og lignende attributter
- pcache: caching af søgeresultater, primært for at forbedre ydeevnen for servere, der fungerer som proxyer.
- ppolicy: LDAP-nøglepolitik - nøglekvalitet, udløb mv.
- refint: referentiel integritet
- retcode: sæt standard returkoder for forskellige operatører, der bruges til klientfejlretning
- rwm: omskrivningsmodul til forskellige LDAP-dataændringer
- seqmod: serialiser skriv til individuelle poster
- syncprov: Udbyder til en syncrepl-forbruger, implementerer mastersiden i et replikeringsskema
- translucent: semi-transparent trin, til logisk at øge data på en server, der bruges som proxy
- unikt: at fremtvinge unikke egenskabsværdier i et træ
- valsort: vedligeholder forskellige rækkefølger for værdier af en attribut
- Bidragede overlejringer omfatter:
- addpartial: modtag anmodninger om tilføjelser (Tilføj) og konverter dem til ændringer (ændrer), hvis målposten allerede eksisterer.
- allop: returnerer alle operationelle attributter for klienter, der ikke ved, hvordan de skal lave anmodninger
- autogruppe: dynamisk styrede statiske grupper
- denyop: Afvis vilkårligt konfigurerede anmodninger
- lastmod: behold tidsstemplet for den sidste ændring i et træ
- nops: filter redundante modifikationer
- nssov: svar på NSS-anmodninger direkte i slapd, erstatter nss-ldap
- proxyOld: understøtter en forældet ProxyAuthz-kodning, der bruges af Sun og andre
- smbk5pwd: behold nøgler i Samba og Kerberos
- spor: Hold styr på LDAP-anmodninger og -svar
OpenLDAP understøtter også SLAPI, udvidelsesarkitekturen brugt af Sun og Netscape/Fedora/RedHat. I nuværende versioner er SLAPI-rammeværket implementeret inden for slapd-overlayet. Mens flere udvidelser skrevet af Sun/Netscape/Fedora/RedHat er kompatible med OpenLDAP, bruger meget få medlemmer af OpenLDAP-fællesskabet SLAPI.
Produkter der gør OpenLDAP nem at bruge
Nogle udviklinger er skabt specifikt for at lette administrationen af katalogsystemer som OpenLDAP for brugere, der leder efter en intuitiv grænseflade, ud over at tilføje andre værktøjer og funktioner.
Oversigt over udgivelser
Større funktionelle udgivelser af OpenLDAP inkluderer:
- OpenLDAP version 1 var en generel oprydning af den seneste version af University of Michigan-projektet (release 3.3) og konsolidering af yderligere ændringer.
- OpenLDAP version 2.0, udgivet i august 2000, inkluderede store forbedringer, herunder understøttelse af LDAP version 3 (LDAPv3), understøttelse af Internet Protocol version 6 ( IPv6 ) og adskillige andre forbedringer.
- OpenLDAP version 2.1, udgivet i juni 2002, inkluderede en Berkeley Database eller BDB- baseret transaktionsdatabase backend , understøttelse af Simple Authentication and Security Layer (SASL) og eksperimentelle meta-, monitor- og virtuelle backends.
- OpenLDAP version 2.2, udgivet i december 2003, inkluderede LDAP "synkroniserings"-motoren med replikeringsunderstøttelse (syncrepl), skærmgrænsefladen og talrige RFC-relaterede og funktionelle forbedringer på databaseniveau.
- OpenLDAP version 2.3, udgivet i juni 2005, inkluderede Configuration Backend (til dynamisk konfiguration), yderligere grænseflader inklusive og adskillige yderligere forbedringer.
- OpenLDAP version 2.4, udgivet i oktober 2007, introducerede N-vejs MultiMaster-replikering, Stand-by-master og muligheden for at slette og ændre skemaelementer under kørsel, foruden flere ændringer.
Referencer
- ^ "OpenLDAP Public License, Version 2.8" . openldap.org . 1. august 2003 . Hentet 5. juni 2021 .
Eksterne links
- OpenLDAP hjemmeside
- OpenLDAP-projektet
- OpenLDAP Foundation
- OpenLDAPSoftware
- OpenLDAP offentlig licens
- Brug af libldap , OpenLDAP Client API tutorial
- En OpenLDAP Update- artikel af Marty Heyman fra september 2007
- Ldap linux manual til konfiguration og brug af en LDAP (Lightweight Directory Access Protocol) Directory Server på Linux