Python LDAP -Beispiel

Python LDAP -Beispiel

LDAP ist ein leichtgewichtiges Verzeichnis -Zugangsprotokoll. Es ist ein Internet -Protokoll, das auf TCP/IP arbeitet und zum Zugriff auf die Informationen aus den Verzeichnissen zugreifen/abrufen wird. Alle Verzeichnisse sind nicht vorzuziehen; Es wird normalerweise verwendet, um auf die aktiven Verzeichnisse zuzugreifen.

Merkmale/Eigenschaften von LDAP

LDAP ist bekannt als Funktionsmodell; Es ist einfach und einzig. Einige der Hauptmerkmale von LDAP sind wie folgt.

  • Es ist bekannt, dass LDAP ein Open-Source-Implementierungsprotokoll ist und kostenlos aus dem Internet heruntergeladen werden kann.
  • Es verfügt über eine wichtige Funktion, die sich mit der Datensicherheit befasst. Da es die Transport Layer Security (TLS) unterstützt.
  • LDAP ist auch von Vorteil, um die Datenbanksysteme zu unterstützen. Da es Verzeichnisse speichert und dem Benutzer die Datenbank entsprechend den Serverinformationen auswählen kann.

LDAP hat viele Funktionen zu den von ihm angebotenen Diensten. Wir werden einige von ihnen hier hervorheben.

Zur Authentifizierung des Kunden

Da LDAP leicht zugänglich ist und viele Vorgänge bildet, um eine Verbindung zu/von einem LDAP -Server zu verbinden/zu trennen. Es authentifiziert die Clients, die die Konnektivitätsanforderung bestehen, damit nur der authentische und gültige Benutzer verbunden werden kann. Für den Authentifizierungsprozess wird eine Client -Sitzung erstellt und beendet mithilfe der Funktionen. Wie Bind/Unbind, verlassen Sie.

Für die Informationsfragung

Es enthält Vergleichs- und Suchfunktionen, mit denen die Informationen aus dem Verzeichnis abgerufen werden. In dieser Situation spielt ein Server eine wichtige Rolle, da er viele Aktionen ausführt, indem die Funktionen wie die Suche nach dem Eintrag verfolgen.

Änderung der Daten

Die Änderung der Daten umfasst Addition, Löschung und Änderung der gespeicherten Daten im angegebenen Verzeichnis. Die Hauptfunktionen umfassen.

1. Fügen Sie einen Eintrag hinzu.

2. Löschen Sie den Eintritt von Daten.

3. Änderung der Daten.

Diese Modifikation liegt an beiden Enden. Zum Beispiel stellt der Client eine Sitzung mit dem Server mithilfe des Hostnamens und der Portnummer auf der Client -Seite fest. Für Sicherheitszwecke verwendet der Benutzer die IDs und die Passwörter für die Authentifizierung. Während auf der serverseitigen Seite ist der Server in der Lage, die Daten zu lesen, zu aktualisieren und zu durchsuchen.

LDAP -Interaktion zwischen Client und Server

Es ähnelt einer der einfachen Kunden-Server-Interaktionen. In diesem Fall verwendet der Client die Protokollfunktionen gegen den Server. Die folgenden Punkte erklären diese Interaktion kurz.

  1. Ein Client sendet eine Protokollanforderung an den Server.
  2. Der Server führt unterschiedliche Vorgänge im Verzeichnis wie Such usw. durch.
  3. Die Antwort des Servers wird an den Client zurückgesandt.

Mehrere Software können problemlos eine Verbindung herstellen und einen LDAP -Server herstellen. Aber alle benötigen Verzeichnisse. Wenn der Benutzer nicht bereit ist, den Verzeichnisserver auf dem System zu installieren, aber LDAP verwenden, kann der Benutzer vier11, Bigfoot usw. verwenden. Die Erstellung des LDAP -Clients ist einfach, da es in vielen anderen Sprachen wie C ++, Java usw. SDK gibt. Um ein LDAP -Client zu sein, muss der Benutzer einige Aufgaben ausführen.

  • Für Ihre Programmiersprache holen Sie sich einen SDK.
  • Verwenden Sie die Funktion von SDK zur Erstellung von LDAP.
  • Führen Sie nach diesen Schritten nun Operationen auf LDAP durch.

Erstellung des LDAP -Benutzer

Jetzt erstellen wir einen LDAP -Benutzer, indem wir das Skript in Python -Sprache verwenden. Eine CSV -Datei wird verwendet. Nach der Erstellung kann das Skript nach den Anforderungen weiter geändert werden, z. B. das Hinzufügen einer Klickbibliothek, in der einzelne Benutzer erstellt werden.

Schritt 1: Installieren Sie die Anforderungen

Der erste Schritt besteht darin, die Voraussetzungen für die Erstellung von Benutzern zu installieren. Dies beinhaltet die Installation von „Python-Ldap“.

# PIP Installieren Sie Python-Ldap

Schritt 2: Verwenden von Python eine Verbindung mit LDAP bilden

Dieser Schritt besteht darin, eine Verbindung mit dem LDAP zu erstellen. Erstens importieren Sie LDAP-, SYS- und LDAP_ADMIN_DN -Module aus der Python -Bibliothek. Dann definieren wir eine Funktion, die Host und Passwort als Argument einer Funktion trägt.

Die Hauptfunktion ist im Körper des "Try" -Teils des außergewöhnlichen Handlings geschrieben. Dadurch wird das Auftreten eines großen Problems beseitigt, und wenn ein Fehler auftritt. Dies wird hier nicht beschrieben.

Wenn Sie zurück zum Code gehen, wird die Verbindung mithilfe der unterhalb der geschriebenen Zeile erstellt.

# Ldap_conn = ldap.initialisieren (LDAP_HOST) LDAP importieren
Importsystem
Importieren Sie ldap_admin_dn
Def try_ldap_bind (ldap_host, admin_pass):
versuchen:
ldap_conn = ldap.initialisieren (ldap_host)
außer LDAP.Server_down:
print ("LDAP -Server kann nicht kontaktieren")
Ausgang (4)
versuchen:
ldap_conn.Simple_bind_s (ldap_admin_dn, admin_pass)
außer (LDAP.Invaly_credentials):
drucken ("Dieses Passwort ist falsch!"))
sys.Ausgang (3)
print ("Authentisierung erfolgreich")

Wenn das Passwort oder der Hostname nicht korrekt ist, wird eine Nachricht angezeigt, dass das Passwort nicht korrekt ist. Andernfalls zeigt es eine Nachricht, dass die Authentifizierung bei korrekten Anmeldeinformationen erfolgreich ist.

Schritt 3: CSV -Datei Laden

Nach dem Import des CSV -Moduls werden wir ein leeres Array nehmen. Um den bereits erstellten CSV -Datei zu öffnen, wird hier Open () -Funktionsbefehl verwendet. Die Datei wird mithilfe eines Objekts geöffnet. Dieses Objekt und beide Dateien werden als Parameter der offenen Funktion übergeben (). Jede Zeile im Code wird von der Zeile durch die Leserfunktion betrachtet.

#vusers_reader = csv.Reader (user_csv_file)

Alle Werte werden in das Array eingetragen, indem eine für die Schleife verwendet wird. Jedes Wort wird in jedem Index eines Arrays platziert. Zum Beispiel ist das erste Wort der Benutzername; Es wird an den Nullindizes dieses Arrays platziert. Ein ähnlicher Prozess wird für alle Indizes verwendet. Diese Wörter sind in der Variablen "Benutzer" vorhanden. Diese werden nun über die Append -Funktion mit dem Array 'user_to_import' beigefügt.

# user_to_import.anhängen (Benutzer)

So werden die in der CSV -Datei vorhandenen Daten jetzt geladen.

CSV importieren
user_to_import = []
mit offen ('Datei.csv ',' rb ') als user_csv_file:
user_reader = csv.Reader (user_csv_file)
Für Zeile in user_reader:
user =
'Benutzername': Zeile [0],
'Passwort': Zeile [1],
'FirstName': Row [2],
'LastName': Row [3],
'Gruppe': Row [4],
'Shell': Reihe [5],
'Hosts': Row [6],

user_to_import.anhängen (Benutzer)

Schritt 4: Benutzererstellung auf dem LDAP -Server

Aus der CSV -Datei erstellen wir einen Benutzer mithilfe einer Funktion. Der erste Schritt befasst sich mit der Definition einer Funktion namens 'create_user'. Zum Beispiel der Fall der Gruppe, die wir haben:

# Gid = find_gid (user ['gruppe']) def create_user (Benutzer, admin_pass):
dn = 'uid =' + user ['userername'] + ',' + ldap_base_dn
fullname = user ['FirstName'] + + user ['LastName']
home_dir = home_base + '/' + user ['userername']
gid = find_gid (user ['Group'])
lastChange = int (mathematik.Boden (Zeit () / 86400))

Es nimmt den Benutzernamen und das Passwort des Administrators an. Innerhalb des Funktionsorganisation ist jedes Feld des Benutzererstellungsformulars mit den von ihm erhältlichen Informationen gefüllt. Diese Informationen werden in den Variablen gespeichert. Diese Variablen werden verwendet, während die Werte im Array zugewiesen werden. Am Ende verwenden wir die Anhangfunktion, um die Werte zu binden. Hier wird ein If-Statement verwendet. Dadurch wird die Länge des "Benutzer" -Arrays über den Len () überprüft ().

# if (len (user ['hosts'])):
# Eintrag.append (('host', user ['hosts'])) Eintrag = []
Eintrag.erweitern([
('Objektklasse', ["Person", "Organisationsperson",
"Inetorgperson", "Possixaccount", "Top", "ShadowAccount", "HostObject"]), ('UID', User ['Benutzername']),
('CN', Fullname),
('Givenname', User ['FirstName']),
('sn', user ['lastname']),
('Mail', Benutzer ['E -Mail'])),
('uidNumber', str (user ['uid'])))),
('gidnumber', str (gid)),
('loginshell', user ['Shell']),
('homedirectory', home_dir),
('Shadowmax', "99999"),
('ShadowWarning', "7"),
('Shadowlastchange', str (lastChange)), ('Benutzerpassword', Benutzer ['Passwort']))
]))
if (len (user ['hosts'])):
Eintrag.append (('host', user ['hosts'])))

Hier wird der gleiche Prozess der Array -Erklärung verwendet. Jeder Index des Arrays enthält den Wert aus dem in der CSV -Datei vorhandenen Inhalt. Dieses Mal erhält jede Indexnummer auch den variablen Namen, den wir in der obigen Funktion verwendet haben.

Wenn wir uns nun in die letzte Phase der Benutzererstellung bewegen, werden wir hier eine Verbindung erstellen, wenn der Benutzer erstellt wird, indem jeder Wert des Arrays zugewiesen wird. Verwenden Sie erneut einen Versuchskörper, um Fehler zu ignorieren. Am Ende werden wir die Unbind -Funktion verwenden, um die Verbindung zu schließen.

# ldap_conn.unbind_s () ldap_conn = ldap.initialisieren (ldap_host)
ldap_conn.Simple_bind_s (ldap_admin_dn, admin_pass)
versuchen:
ldap_conn.Add_s (DN, Eintrag)
Endlich:
ldap_conn.Unbind_s ()

Abschluss

'Python LDAP -Beispiel' zielt darauf ab, die Funktionen, Funktionen und die Erstellung der Benutzererstellung des LDAP -Protokolls bereitzustellen. Wir haben kurz die wichtigen Aspekte dieses Protokolls erklärt, indem wir die Interaktion zwischen Server und Client hervorheben. Wir sind zuversichtlich, dass dieses Tutorial für den Benutzer in Bezug auf die LDAP -Implementierung in der Python -Sprache von Vorteil ist.