GNU/Linux >> Tutoriales Linux >  >> Linux

Contenedor Openldap de 4 pasos Podman Easy

Introducción

¿Por qué OpenLDAP?

El proyecto es copiar el código fuente de referencia LDAP. OpenLDAP es la abreviatura de Protocolo ligero de acceso a directorios. LDAP es un protocolo de aplicación independiente del proveedor que le permite evaluar y mantener servicios de información de directorio distribuidos a través de un ISP. Hay muchas maneras diferentes de proporcionar un directorio. Por ejemplo, usar LDAP lo ayuda a proporcionar un lugar central para almacenar nombres de usuario y contraseñas.

Por lo tanto, muchas aplicaciones y servicios diferentes podrían conectarse al servidor LDAP para validar a los usuarios. Los servidores LDAP se usan ampliamente en las organizaciones para almacenar el nombre de usuario y la contraseña en un servidor centralizado contra el cual el usuario puede autenticarse más en los programas y servicios presentes en la red. Además, usaremos paquetes Symas OpenLDAP para los comandos de mantenimiento de software estándar nativos de su sistema operativo. OpenLDAP es el principal contribuyente en la escritura del 90% del código OpenLDAP. Además, consulte el tutorial OpenLdap en RHEL8 y la documentación de OpenLDAP.

Ventajas de OpenLDAP

es gratis Similar a Linux es de código abierto. Protocolo estándar. En segundo lugar, además, es fácil vincular la autenticación a muchas aplicaciones. Personalizable y ligero.

Desventajas de OpenLDAP

Lo mejor sería que te prepararas. Además de Su infraestructura de apoyo a todos los requisitos. Políticas y reglas de seguridad en su lugar. Entonces, las bases de datos o ActiveDirectory siempre deben almacenar datos. Todos los atributos y políticas se romperán si la información actual no está en su lugar. Asumiendo Microsoft en su área, subvenciones para OpenLDAP con Active Directory.

Obtener imagen OpenLDAP

#podman pull osixia/openldap:latest

Crear grupo

No olvide agregar la asignación de puertos para los puertos 389 y 636 si desea acceder al servidor ldap desde otra máquina.

# podman pod create --name openldapapp -p 389:389 -p 636:636 --network bridge

Crea el contenedor openldap

Este es el comportamiento predeterminado cuando ejecuta esta imagen. Creará un ldap abierto para Unixcop.com. Y el dominio example.com . De forma predeterminada, el administrador tiene la contraseña admin . Todas esas configuraciones predeterminadas se pueden cambiar en la línea de comando de la ventana acoplable, por ejemplo:

podman run --pod openldapapp --name openldap-server --uts=private --hostname=openldap.example.com \
--env LDAP_ORGANISATION="My UnixCop" --env LDAP_DOMAIN="example.com" \ 
--env LDAP_ADMIN_PASSWORD="UnixCop@SoFreaky" --env LDAP_TLS=false \
--env LDAP_READONLY_USER=ldapuser01 --env LDAP_CONFIG_PASSWORD="UnixCop@SoFreaky" \ 
--env LDAP_READONLY_USER_PASSWORD="UnixCop@SoFreaky" \
--env LDAP_READONLY_USER_PASSWORD="UnixCop@SoFreaky" \ 
--env LDAP_BASE_DN="cn=admin,dc=example,dc=com" -d osixia/openldap:latest

Los directorios /var/lib/ldap (archivos de base de datos LDAP) y /etc/ldap/slapd.d (archivos de configuración LDAP) se utilizan para conservar el esquema y la información de datos. Deben asignarse como volúmenes, de modo que sus archivos ldap se guarden fuera del contenedor (utilice una base de datos ldap existente). Sin embargo, puede ser útil no usar volúmenes si la imagen debe entregar la imagen completa con datos de prueba; esto es especialmente útil cuando se derivan otras imágenes de esta.

Esta imagen puede cargar archivos ldif y de esquema desde una ruta interna al inicio. Además, puede copiar certificados desde un directorio interno. Esto es útil si un servicio de integración continua monta automáticamente la copia de trabajo (fuentes) en un servicio docker, que se relaciona con el trabajo ci.

Por ejemplo, GitLab no puede montar rutas personalizadas en los servicios docker de un trabajo ci, pero Gitlab escala automáticamente la copia de trabajo en cada contenedor de servicios. Por lo tanto, se puede acceder a la copia de trabajo (fuentes) en /incorporado en cada servicio de un trabajo ci. El directorio de certificados puede obtener la ruta a la copia de trabajo a través de ${CI_PROJECT_DIR}. Consulte también:https://docs.gitlab.com/runner/executors/docker.html#build-directory-in-service

Esto también puede funcionar con otros servicios de CI si montan automáticamente el directorio de trabajo en los servicios de un trabajo de CI como lo hace Gitlab ci.

Para generar archivos ldif o de esquema desde la ruta interna, debe establecer la variable de entorno específica LDAP_SEED_INTERNAL_LDIF_PATH y LDAP_SEED_INTERNAL_SCHEMA_PATH. Si se selecciona, esto copiará todos los archivos del directorio especificado en los directorios de inicialización predeterminados de esta imagen.

 LDAP_SEED_INTERNAL_LDAP_TLS_CRT_FILE: "${CI_PROJECT_DIR}/docker/certificates/certs/cert.pem"
 LDAP_SEED_INTERNAL_LDAP_TLS_KEY_FILE: "${CI_PROJECT_DIR}/docker/certificates/certs/key.pem"
 LDAP_SEED_INTERNAL_LDAP_TLS_CA_CRT_FILE: "${CI_PROJECT_DIR}/docker/certificates/ca/ca.pem"
 LDAP_SEED_INTERNAL_LDAP_TLS_DH_PARAM_FILE: "${CI_PROJECT_DIR}/certificates/dhparam.pem"

Añadir grupo al contenedor openldap

# cat group.ldif
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=othergroup,dc=example,dc=com
objectClass: organizationalUnit
ou: othergroup

Se puede hacer dentro del contenedor

# podman exec -it openldap-server /bin/bash
/# ldapadd -x -W -D "cn=admin,dc=example,dc=com" -f /tmp/new-user.ldif -H ldap://openldap.example.com

Agregar usuario al contenedor openldap

# cat new-user.ldif
dn: uid=ldapuser,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: adam
uid: adam
uidNumber: 16859
gidNumber: 100
homeDirectory: /home/ldapuser
loginShell: /bin/bash
gecos: ldapuser
userPassword: {crypt}x
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

Linux
  1. Cómo instalar el servidor OpenLDAP en Debian o Ubuntu

  2. Cómo ejecutar Nginx en un contenedor Docker:una guía paso a paso

  3. Vista previa de la tecnología:ejecución de un contenedor dentro de un contenedor

  4. Uso de archivos y dispositivos en contenedores sin raíz de Podman

  5. Cómo usar Podman dentro de un contenedor

Contenedor de servidor FTP Podman rápido y correcto y 4 pasos sucios

1 contenedor de servidor DNS Podman sucio fácil

1 contenedor de servidor Nagios xi rápido y fácil

Contenedor de servidor HAProxy Podman rápido 100% fácil

Cómo configurar el servidor OpenLDAP en Debian 10

Instalar Ubuntu Server 18.04 LTS - Guía fácil paso a paso