Ejemplo de Python LDAP

Ejemplo de Python LDAP

LDAP es un protocolo de acceso de directorio liviano. Es un protocolo de Internet que funciona en TCP/IP, y se utiliza para acceder/obtener la información de los directorios. Todos los directorios no son preferibles; Por lo general, se usa para acceder a aquellos directorios activos.

Características/características de LDAP

Se sabe que LDAP es un modelo funcional; Es simple y único debido a su capacidad para evitar la duplicación de datos para mantener el contenido seguro y coherente. Algunas de las características principales de LDAP son las siguientes.

  • Se sabe que LDAP es un protocolo de implementación de código abierto y se puede descargar gratis de Internet.
  • Tiene una característica importante que se ocupa de la seguridad de los datos. Como admite la seguridad de la capa de transporte (TLS), los datos confidenciales se pueden asegurar fácilmente de los Snatchers.
  • LDAP también es beneficioso para admitir los sistemas de bases de datos. Ya que almacena directorios y permite al usuario elegir la base de datos de acuerdo con la información del servidor.

LDAP tiene muchas funciones con respecto a los servicios que brinda. Destacaremos algunos de ellos aquí.

Para la autenticación del cliente

Como LDAP es fácilmente accesible y forma muchas operaciones para conectar/desconectar a/desde un servidor LDAP, causa los derechos sobre el acceso y protege la información privada. Autentica a los clientes que pasan la solicitud de conectividad para que solo el usuario auténtico y válido pueda estar conectado. Para el proceso de autenticación, se crea y finaliza una sesión de cliente utilizando las funciones. Como atar/desabar, abandonar.

Para la consulta de la información

Incluye funciones de comparación y búsqueda que se utilizan para obtener la información del directorio. En esta situación, un servidor juega un papel importante, ya que realiza muchas acciones siguiendo las funciones como la búsqueda, comparar la entrada.

Modificación de los datos

La modificación de los datos comprende adición, eliminación y modificación de los datos almacenados en el directorio especificado. Las funciones principales incluyen.

1. Agregar una entrada.

2. Eliminar la entrada de datos.

3. Modificación de los datos.

Esta modificación está en ambos extremos. Por ejemplo, el cliente establece una sesión con el servidor utilizando el nombre de host y el número de puerto en el lado del cliente. Para fines de seguridad, el usuario usa las ID y las contraseñas para la autenticación. Mientras que en el lado del servidor, el servidor es capaz de leer, actualizar y buscar los datos.

Interacción LDAP entre el cliente y el servidor

Es similar a cualquiera de las interacciones simples de cliente-servidor. En este caso, el cliente usa las funciones de protocolo contra el servidor. Los puntos a continuación explican esta interacción brevemente.

  1. Un cliente envía una solicitud de protocolo al servidor.
  2. El servidor realiza operaciones diferentes en el directorio como la búsqueda, etc.
  3. La respuesta del servidor se devuelve al cliente.

Varios software pueden crear fácilmente una conexión y hacer un servidor LDAP. Pero todos requieren directorios. Si el usuario no está dispuesto a instalar el servidor de directorio en el sistema pero desea usar LDAP, entonces el usuario puede usar cuatro11, bigfoot, etc. La creación del cliente LDAP es simple ya que hay SDK en muchos otros idiomas como C ++, Java, etc. Para ser un cliente LDAP, el usuario debe realizar algunas tareas.

  • Para su lenguaje de programación, ve a buscar un SDK.
  • Use la función de SDK para la creación de LDAP.
  • Después de estos pasos, ahora realice operaciones en LDAP.

Creación de usuarios de LDAP

Ahora, crearemos un usuario de LDAP utilizando el script en el idioma python. Se utiliza un archivo CSV. Después de la creación, el script se puede modificar aún más de acuerdo con los requisitos, como agregar una biblioteca de clics que crea usuarios individuales.

Paso 1: Instale los requisitos

El primer paso es instalar los requisitos previos para la creación de usuarios. Esto implica la instalación de "Python-LDAP".

# PIP Instale Python-LDAP

Paso 2: Uso de Python Forma una conexión con LDAP

Este paso es construir una conexión con el LDAP. En primer lugar, importar módulos LDAP, SYS y LDAP_ADmin_DN desde la biblioteca de Python. Luego definiremos una función que lleva el host y la contraseña como un argumento de una función.

La función principal está escrita dentro del cuerpo de la parte 'try' del manejo excepcional. Esto eliminará la ocurrencia de cualquier gran problema, y ​​si se produce un error minuto, se lanza una solicitud de excepción, que se resuelve mediante el método Catch (). Esto no se describe aquí.

Volviendo hacia el código, la conexión se construye utilizando la línea escrita a continuación.

# Ldap_conn = ldap.inicializar (ldap_host) import ldap
Sys de importación
importar ldap_admin_dn
def try_ldap_bind (ldap_host, admin_pass):
intentar:
ldap_conn = ldap.Inicializar (LDAP_HOST)
Excepto LDAP.SERVIDOR CAIDO:
Imprimir ("No se puede contactar al servidor LDAP")
Salir (4)
intentar:
ldap_conn.simple_bind_s (ldap_admin_dn, admin_pass)
Excepto (LDAP.CREDENCIALES NO VÁLIDAS):
Imprimir ("Esta contraseña es incorrecta!")
sys.Salida (3)
Imprimir ("Autentización exitosa")

Si la contraseña o el nombre de host no es correcto, se muestra un mensaje que la contraseña no es correcta. De lo contrario, muestra un mensaje de que la autenticación es exitosa en el caso de las credenciales correctas.

Paso 3: Carga del archivo CSV

Después de importar el módulo CSV, tomaremos una matriz vacía. Para abrir el archivo CSV ya creado, aquí se utiliza el comando de función Open (). El archivo se abre utilizando un objeto. Ese objeto y ambos archivos se pasan como parámetros de la función abierta (). Cada línea en el código se considera línea por línea a través de la función del lector.

#vusers_reader = CSV.Reader (Uss_CSV_File)

Todos los valores se ingresan en la matriz utilizando un bucle para. Cada palabra se coloca en cada índice de una matriz. Por ejemplo, la primera palabra es el nombre de usuario; se coloca en los índices cero de esa matriz. Se utiliza un proceso similar para todos los índices. Estas palabras están presentes en la variable 'usuario'. Ahora, estos se agregan con la matriz 'Users_To_Import' a través de la función de append.

# users_to_import.anular (usuario)

Así es como ahora se cargan los datos presentes en el archivo CSV.

Importar CSV
Users_to_import = []
con archivo abierto ('.csv ',' rb ') como users_csv_file:
users_reader = CSV.Reader (Uss_CSV_File)
para fila en ussers_reader:
usuario =
'Nombre de usuario': fila [0],
'Contraseña': fila [1],
'FirstName': fila [2],
'LastName': fila [3],
'Grupo': fila [4],
'Shell': fila [5],
'Hosts': fila [6],

Users_to_import.anular (usuario)

Paso 4: Creación de usuarios en el servidor LDAP

Desde el archivo CSV, crearemos un usuario utilizando una función. El primer paso trata de definir una función llamada 'create_user'. Por ejemplo, el caso del grupo que tenemos:

# Gid = find_gid (usuario ['grupo']) def create_user (user, admin_pass):
dn = 'uid =' + user ['username'] + ',' + ldap_base_dn
fullName = user ['FirstName'] + + User ['LastName']
home_dir = home_base + '/' + user ['username']
gid = find_gid (usuario ['grupo'])
lastchange = int (matemáticas.piso (hora () / 86400))

Toma el nombre de usuario y la contraseña del administrador. Dentro del cuerpo de funciones, cada campo del formulario de creación del usuario se llena con la información que recibe. Esta información se almacena en las variables. Estas variables se usan al asignar los valores en la matriz. Al final, usamos la función de append para unir los valores. Aquí se usa una declaración if se usa. Esto verificará la longitud de la matriz 'Usuario' a través del Len ().

# if (len (usuario ['hosts'])):
# entrada.append (('host', usuario ['hosts'])) entry = []
entrada.extender([
('ObjectClass', ["Persona", "Organizationalperer",
"inetorgperson", "posixaccount", "top", "shadowAccount", "hostObject"]), ('uid', usuario ['nombre de usuario']),
('CN', Name Full),
('dedName', usuario ['FirstName']),
('Sn', usuario ['LastName']),
('Correo', usuario ['correo electrónico']),
('uidnumber', str (usuario ['uid'])),
('Gidnumber', Str (GID)),
('Loginshell', usuario ['shell']),
('Homedirectory', Home_dir),
('Shadowmax', "99999"),
('Shadowwarning', "7"),
('ShadowlastChange', Str (LastChange)), ('UserPassword', User ['Password'])
])
if (len (usuario ['hosts'])::
entrada.append (('host', usuario ['hosts']))

Aquí se utiliza el mismo proceso de declaración de matriz aquí. Cada índice de la matriz contiene el valor del contenido presente en el archivo CSV. Esta vez, cada número de índice también tiene el nombre de la variable que hemos utilizado en la función anterior.

Ahora avanzando hacia la última fase de la creación de usuarios, aquí construiremos una conexión cuando el usuario se cree asignando cada valor de la matriz. Nuevamente use un cuerpo de prueba para ignorar los errores. Al final, utilizaremos la función para cerrar la conexión.

# ldap_conn.Unbind_s () ldap_conn = ldap.Inicializar (LDAP_HOST)
ldap_conn.simple_bind_s (ldap_admin_dn, admin_pass)
intentar:
ldap_conn.add_s (DN, entrada)
finalmente:
ldap_conn.no admite_s ()

Conclusión

'Ejemplo de Python LDAP' tiene como objetivo proporcionar las características, funciones y función de creación de usuarios del protocolo LDAP. Hemos explicado brevemente los aspectos importantes de este protocolo al resaltar la interacción entre el servidor y el cliente. Tenemos la esperanza de que este tutorial sea beneficioso para el usuario con respecto a la implementación de LDAP en el idioma de Python.