LDAP: Unterschied zwischen den Versionen
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 | + | * '''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

