LDAP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „= '''L'''ightweight '''D'''irectory '''A'''ccess '''P'''rotocol = * LDAP wurde 1995 an der University of Michigan als Alternative zu X.500 DAP entwickelt * Es…“)
 
Zeile 20: Zeile 20:
 
** '''Containerobjekten''': Enthält untergeordneten Objekten.
 
** '''Containerobjekten''': Enthält untergeordneten Objekten.
 
** '''Blattobjekten''': Endpunkte der Baumstruktur
 
** '''Blattobjekten''': Endpunkte der Baumstruktur
 +
 +
= Blattobjekt Beispiel =
 +
 +
{{#drawio:blattobjekt}}
 +
 +
objectclass (
 +
    1.3.6.1.1.1.2.0
 +
    NAME 'posixAccount'
 +
    DESC 'Abstraction of an account with POSIX attributes'
 +
    SUP top
 +
    AUXILIARY
 +
    MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
 +
    MAY ( userPassword $ loginShell $ gecos $ description )
 +
)
 +
 +
= Aufbau =
 +
 +
* Informationen werden als Einträge in einem Baum, dem '''D'''irectory '''I'''nformation '''T'''ree (DIT) dargestellt.
 +
* Jedes Objekt besitzt einen eindeutigen Distinguished Name
 +
* Jeder Eintrag gehört zu (mindestens) einer Objektklasse
 +
* Objektklassen werden durch ihre Attribute definiert
 +
* Ein Attribut besitzt einen Typ und einen oder mehrere Werte
 +
 +
= Objektklassen =
 +
 +
* Eine Objektklasse stellt eine Kategorie von Objekten dar, wie z. B. Benutzer, Drucker oder Anwendungsprogramme, die gemeinsame Merkmale aufweisen.
 +
* Die Definition für jede Objektklasse enthält eine Liste der Attribute, mit denen Instanzen der Klasse beschrieben werden können.
 +
* Beispielsweise weist die Klasse Benutzer Attribute wie ''givenName'', ''surname'' und ''streetAddress'' auf.
 +
* Die Liste der Attribute für eine Klasse ist unterteilt in die Attribute, die ein Objekt der Klasse enthalten muss, und in weitere Attribute, die ein Objekt enthalten kann.
 +
 +
= Attribute =
 +
 +
* Im Schema werden auch alle Attribute definiert.
 +
* Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
 +
* Desweiteren gibt es optionale Bereichsgrenzen für die Attributwerte: ob das Attribut nur einen oder mehrere Werte aufweisen kann sowie ob das Attribut indiziert ist.
 +
* Jedes Attribut wird im Verzeichnisschema genau einmal definiert
 +
* Anschließend kann von mehreren Objektklassen auf jedes Attribut verwiesen werden
 +
* So ist beispielsweise das description-Attribut einmal definiert
 +
* Anschließend wird von mehreren Objektklassen darauf verwiesen
 +
 +
= Schema =
 +
 +
Ein Schema definiert die folgenden Punkte:
 +
 +
* Attributstypen
 +
* Objektklassen
 +
* Filter- und Matching-Regeln bei Vergleichsoperationen
 +
* Rechte zum Anlegen oder Modifizieren von Datensätzen
  
 
= Installation =
 
= Installation =
Zeile 25: Zeile 73:
 
== Server ==
 
== Server ==
  
* '''apt install slapd ldap-utils'''
+
* '''apt install slapd ldap-utils ldapscripts nslcd'''
 +
 
 +
=== Erste Einträge ===
 +
 
 +
* '''vim struktur.ldif'''
 +
dn: ou=users,dc=lab100,dc=it
 +
objectClass: organizationalUnit
 +
ou: users
 +
 +
dn: ou=groups,dc=lab100,dc=it
 +
objectClass: organizationalUnit
 +
ou: groups
 +
 +
dn: ou=hosts,dc=lab100,dc=it
 +
objectClass: organizationalUnit
 +
ou: hosts
  
 
== Client ==
 
== Client ==
Zeile 31: Zeile 94:
 
=== Debian ===
 
=== Debian ===
  
* '''apt install nslcd ldap-utils ldapscripts'''
+
* '''apt install nslcd ldap-utils'''
  
 
=== Arch ===
 
=== Arch ===
  
 
* '''pacman -S nss-pam-ldapd'''
 
* '''pacman -S nss-pam-ldapd'''

Version vom 3. Mai 2023, 07:39 Uhr

Lightweight Directory Access Protocol

  • LDAP wurde 1995 an der University of Michigan als Alternative zu X.500 DAP entwickelt
  • Es ist eine leseoptimierte Datenbank
  • Ursprünglich nur Zugriffsprotokoll auf X.500 Server
  • Eine der Komponenten von Microsoft's Active Directory

Struktur


  • Am Anfang eine Baumes stehen die Domain Komponenten
  • Darunter stehen oft Organisations-Einheiten
  • Darunter können oft schon Blattobjekte stehen.
  • Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
  • Dieser nennt man auf Englisch Distinguish Name.
  • Man unterscheidet zwischen:
    • Containerobjekten: Enthält untergeordneten Objekten.
    • Blattobjekten: Endpunkte der Baumstruktur

Blattobjekt Beispiel

objectclass (
    1.3.6.1.1.1.2.0
    NAME 'posixAccount'
    DESC 'Abstraction of an account with POSIX attributes'
    SUP top
    AUXILIARY
    MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
    MAY ( userPassword $ loginShell $ gecos $ description )
)

Aufbau

  • Informationen werden als Einträge in einem Baum, dem Directory Information Tree (DIT) dargestellt.
  • Jedes Objekt besitzt einen eindeutigen Distinguished Name
  • Jeder Eintrag gehört zu (mindestens) einer Objektklasse
  • Objektklassen werden durch ihre Attribute definiert
  • Ein Attribut besitzt einen Typ und einen oder mehrere Werte

Objektklassen

  • Eine Objektklasse stellt eine Kategorie von Objekten dar, wie z. B. Benutzer, Drucker oder Anwendungsprogramme, die gemeinsame Merkmale aufweisen.
  • Die Definition für jede Objektklasse enthält eine Liste der Attribute, mit denen Instanzen der Klasse beschrieben werden können.
  • Beispielsweise weist die Klasse Benutzer Attribute wie givenName, surname und streetAddress auf.
  • Die Liste der Attribute für eine Klasse ist unterteilt in die Attribute, die ein Objekt der Klasse enthalten muss, und in weitere Attribute, die ein Objekt enthalten kann.

Attribute

  • Im Schema werden auch alle Attribute definiert.
  • Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
  • Desweiteren gibt es optionale Bereichsgrenzen für die Attributwerte: ob das Attribut nur einen oder mehrere Werte aufweisen kann sowie ob das Attribut indiziert ist.
  • Jedes Attribut wird im Verzeichnisschema genau einmal definiert
  • Anschließend kann von mehreren Objektklassen auf jedes Attribut verwiesen werden
  • So ist beispielsweise das description-Attribut einmal definiert
  • Anschließend wird von mehreren Objektklassen darauf verwiesen

Schema

Ein Schema definiert die folgenden Punkte:

  • Attributstypen
  • Objektklassen
  • Filter- und Matching-Regeln bei Vergleichsoperationen
  • Rechte zum Anlegen oder Modifizieren von Datensätzen

Installation

Server

  • apt install slapd ldap-utils ldapscripts nslcd

Erste Einträge

  • vim struktur.ldif
dn: ou=users,dc=lab100,dc=it
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=lab100,dc=it
objectClass: organizationalUnit
ou: groups

dn: ou=hosts,dc=lab100,dc=it
objectClass: organizationalUnit
ou: hosts

Client

Debian

  • apt install nslcd ldap-utils

Arch

  • pacman -S nss-pam-ldapd