Esempio di Python LDAP

Esempio di Python LDAP

LDAP è un protocollo di accesso alla directory leggero. È un protocollo Internet che funziona su TCP/IP e viene utilizzato per accedere/recuperare le informazioni dalle directory. Tutte le directory non sono preferibili; Di solito viene utilizzato per accedere a quelle directory che sono attive.

Caratteristiche/caratteristiche di LDAP

LDAP è noto per essere un modello funzionale; È semplice e unico per la sua capacità di evitare la duplicazione dei dati per mantenere il contenuto sicuro e coerente. Alcune delle principali caratteristiche di LDAP sono le seguenti.

  • È noto che LDAP è un protocollo di implementazione open source e può essere scaricato gratuitamente da Internet.
  • Ha una funzionalità importante che si occupa di sicurezza dei dati. Poiché supporta la sicurezza del livello di trasporto (TLS), i dati sensibili possono essere facilmente protetti dai frammenti.
  • LDAP è anche utile nel supportare i sistemi di database. Mentre memorizza le directory e consente all'utente di scegliere il database in base alle informazioni del server.

LDAP ha molte funzioni riguardanti i servizi che fornisce. Ne evidenzieremo alcuni qui.

Per l'autenticazione del client

Poiché LDAP è facilmente accessibile e forma molte operazioni per connettersi/disconnettersi da/da un server LDAP, provoca i diritti sull'accesso e protegge le informazioni private. Autentica i client che passano la richiesta di connettività in modo che solo l'utente autentico e valido possa essere connesso. Per il processo di autenticazione, una sessione client viene creata e terminata utilizzando le funzioni. Come un bind/sladding, abbandonare.

Per la domanda di informazioni

Include le funzioni di confronto e di ricerca utilizzate per recuperare le informazioni dalla directory. In questa situazione, un server svolge un ruolo importante, in quanto esegue molte azioni seguendo le funzioni come la ricerca, confronta la voce.

Modifica dei dati

La modifica dei dati comprende l'aggiunta, la cancellazione e la modifica dei dati memorizzati nella directory specificata. Le funzioni principali includono.

1. Aggiungi una voce.

2. Elimina la voce dei dati.

3. Modifica dei dati.

Questa modifica è ad entrambe le estremità. Ad esempio, il client stabilisce una sessione con il server utilizzando il nome host e il numero di porta sul lato client. Per scopi di sicurezza, l'utente utilizza gli ID e le password per l'autenticazione. Considerando che sul lato server, il server è in grado di leggere, aggiornare e cercare i dati.

Interazione LDAP tra client e server

È simile a una delle semplici interazioni client-server. In questo caso, il client utilizza le funzioni del protocollo sul server. I punti seguenti spiegano brevemente questa interazione.

  1. Un client invia una richiesta di protocollo al server.
  2. Il server esegue diverse operazioni nella directory come la ricerca ecc.
  3. La risposta del server viene inviata al client.

Diversi software possono facilmente creare una connessione e creare un server LDAP. Ma tutti richiedono directory. Se l'utente non è disposto a installare il server Directory sul sistema ma desidera utilizzare LDAP, l'utente può utilizzare quattro11, bigfoot, ecc. La creazione del client LDAP è semplice in quanto ci sono SDK in molte altre lingue come C ++, Java, ecc. Per essere un client LDAP, l'utente deve eseguire alcune attività.

  • Per il tuo linguaggio di programmazione, vai a prendere un SDK.
  • Usa la funzione di SDK per la creazione di LDAP.
  • Dopo questi passaggi, ora eseguire operazioni su LDAP.

Creazione dell'utente LDAP

Ora creeremo un utente LDAP utilizzando lo script in lingua Python. Viene utilizzato un file CSV. Dopo la creazione, lo script può essere ulteriormente modificato in base ai requisiti, come l'aggiunta di una libreria di clic che crea singoli utenti.

Passaggio 1: installare i requisiti

Il primo passo è installare i prerequisiti per la creazione dell'utente. Ciò comporta l'installazione di "Python-LDAP".

# PIP Installa Python-LDAP

Passaggio 2: usando Python forma una connessione con LDAP

Questo passaggio è quello di creare una connessione con LDAP. In primo luogo, import LDAP, SYS e moduli LDAP_ADMIN_DN dalla Biblioteca Python. Quindi definiremo una funzione che trasporta host e password come argomento di una funzione.

La funzione principale è scritta all'interno del corpo della parte "prova" della gestione eccezionale. Ciò eliminerà il verificarsi di qualsiasi grosso problema e, se si verifica un errore minuto, viene lanciata una richiesta di eccezione, che è risolta dal metodo Catch (). Questo non è descritto qui.

Tornando indietro verso il codice, la connessione viene costruita utilizzando la riga di seguito.

# Ldap_conn = ldap.Initialize (LDAP_HOST) Importa ldap
Import sys
Importa ldap_admin_dn
def try_ldap_bind (ldap_host, admin_pass):
Tentativo:
ldap_conn = ldap.Inizializza (LDAP_HOST)
Tranne ldap.SERVER NON FUNZIONANTE:
Stampa ("Impossibile contattare LDAP Server")
uscita (4)
Tentativo:
ldap_conn.semplice_bind_s (ldap_admin_dn, admin_pass)
Tranne (ldap.CREDENZIALI NON VALIDE):
Stampa ("Questa password non è corretta!")
sys.uscita (3)
print ("autencizzazione riuscita")

Se la password o il nome host non è corretta, viene visualizzato un messaggio che la password non è corretta. Altrimenti, mostra un messaggio che l'autenticazione ha esito positivo in caso di credenziali corrette.

Passaggio 3: caricamento del file CSV

Dopo aver importato il modulo CSV, prenderemo un array vuoto. Per aprire il file CSV già creato, qui viene utilizzato il comando di funzione. Il file viene aperto utilizzando un oggetto. Quell'oggetto ed entrambi i file vengono passati come parametri della funzione aperta (). Ogni riga nel codice è considerata riga per riga attraverso la funzione del lettore.

#vusers_reader = csv.Reader (Users_Csv_File)

Tutti i valori vengono inseriti nell'array utilizzando un loop per. Ogni parola è posta ad ogni indice di un array. Ad esempio, la prima parola è il nome utente; è posizionato sugli indici zero di quel array. Un processo simile viene utilizzato per tutti gli indici. Queste parole sono presenti nella variabile "utente". Ora, questi sono aggiunti con l'array "Use Use_to_import" tramite la funzione Append.

# USERS_TO_IMPORT.append (utente)

Ecco come vengono caricati i dati presenti nel file CSV.

Importa CSV
USERS_TO_IMPORT = []
con Open ('File.CSV ',' RB ') come USUS_CSV_FILE:
Users_Reader = CSV.Reader (Users_Csv_File)
Per la riga in utenti_reader:
utente =
'nome utente': riga [0],
'Password': riga [1],
'FirstName': riga [2],
'LastName': riga [3],
'Gruppo': riga [4],
'shell': riga [5],
'hosts': riga [6],

Users_to_import.append (utente)

Passaggio 4: creazione dell'utente sul server LDAP

Dal file CSV, creeremo un utente utilizzando una funzione. Il primo passo tratta la definizione di una funzione denominata "create_user". Ad esempio, il caso del gruppo che abbiamo:

# Gid = find_gid (utente ['group']) def create_user (utente, admin_pass):
dn = 'uid =' + user ['nome utente'] + ',' + ldap_base_dn
fullname = user ['firstName'] + + user ['lastname']
home_dir = home_base + '/' + user ['nome utente']
gid = find_gid (utente ['group'])
LastChange = int (matematica.Floor (time () / 86400))

Prende il nome utente e la password dell'amministratore. All'interno del corpo della funzione, ogni campo del modulo di creazione dell'utente è riempito con le informazioni che ottiene. Queste informazioni sono archiviate nelle variabili. Queste variabili vengono utilizzate durante l'assegnazione dei valori nell'array. Alla fine, utilizziamo la funzione di append per legare i valori. Qui viene utilizzato un IF-Statement. Questo controllerà la lunghezza dell'array "utente" tramite Len ().

# if (len (utente ['host']):
# Entrata.append (('host', user ['host'])) entry = []
iscrizione.estendere([
("ObjectClass", ["Person", "OrganizationalPerson",
"IneTorGperson", "PosixAccount", "Top", "ShadowAccount", "HostObject"]), ('uid', utente ['nome utente']),
('CN', fullname),
('DatoName', Utente ['FirstName']),
('sn', utente ['lastname']),
('Mail', utente ['email']),
('uidnumber', str (utente ['uid']),
('Gidnumber', STR (GID)),
('loginshell', utente ['shell']),
('Homedirectory', home_dir),
('ShadowMax', "99999"),
("Shadowwarning", "7"),
;
])
if (len (utente ['host'])):
iscrizione.append (('host', utente ['host'])

Lo stesso processo di dichiarazione dell'array viene utilizzato qui. Ogni indice dell'array contiene il valore dal contenuto presente nel file CSV. Questa volta, a ciascun numero dell'indice viene anche dato il nome variabile che abbiamo usato nella funzione sopra.

Ora spostandosi verso l'ultima fase della creazione dell'utente, qui creeremo una connessione quando l'utente viene creato assegnando ogni valore dell'array. Usa ancora una volta un corpo prova per ignorare gli errori. Alla fine, utilizzeremo la funzione di ININDIND per chiudere la connessione.

# ldap_conn.INCLID_S () LDAP_CONN = LDAP.Inizializza (LDAP_HOST)
ldap_conn.semplice_bind_s (ldap_admin_dn, admin_pass)
Tentativo:
ldap_conn.add_s (dn, voce)
Finalmente:
ldap_conn.INCLID_S ()

Conclusione

"Python LDAP Esempio" mira a fornire le funzionalità, le funzioni e la funzione di creazione dell'utente del protocollo LDAP. Abbiamo spiegato brevemente gli aspetti importanti di questo protocollo evidenziando l'interazione tra server e client. Speriamo che questo tutorial sarà utile per l'utente in merito all'implementazione di LDAP in lingua Python.