GNU/Linux >> Tutoriels Linux >  >> Linux

Conteneur Openldap en 4 étapes Podman Easy

Présentation

Pourquoi OpenLDAP ?

Le projet consiste à copier le code source de référence LDAP. OpenLDAP est l'abréviation de Lightweight Directory Access Protocol. LDAP est un protocole d'application indépendant du fournisseur qui vous permet d'évaluer et de maintenir des services d'informations d'annuaire distribués sur un FAI. Il existe de nombreuses façons de fournir un répertoire. Par exemple, l'utilisation de LDAP vous aide à fournir un emplacement central pour stocker les noms d'utilisateur et les mots de passe.

Ainsi, de nombreuses applications et services divers pourraient se connecter au serveur LDAP pour valider les utilisateurs. Les serveurs LDAP sont largement utilisés dans les organisations pour stocker le nom d'utilisateur et le mot de passe dans un serveur centralisé auprès duquel l'utilisateur peut s'authentifier auprès des programmes et services présents sur le réseau. De plus, nous utiliserons les packages Symas OpenLDAP pour les commandes de maintenance logicielle standard natives de votre système d'exploitation. OpenLDAP est le principal contributeur à l'écriture de 90 % du code OpenLDAP. Consultez également le didacticiel OpenLDAP sur RHEL8 et la documentation OpenLDAP.

Avantages d'OpenLDAP

C'est gratuit. Semblable à Linux est open source. Protocole standard. Deuxièmement, de plus, il est facile de lier l'authentification à de nombreuses applications. Personnalisable et léger.

Inconvénients d'OpenLDAP

Il serait préférable que vous vous prépariez. En plus de votre infrastructure prend en charge toutes les exigences. Politiques et règles de sécurité en place. Ainsi, les bases de données ou ActiveDirectory doivent toujours stocker des données. Tous les attributs et politiques seront rompus si les informations actuelles ne sont pas en place. En supposant que Microsoft dans votre région, accorde OpenLDAP avec Active Directory.

Obtenir l'image OpenLDAP

#podman pull osixia/openldap:latest

Créer un module

N'oubliez pas d'ajouter le mappage de port pour les ports 389 et 636 si vous souhaitez accéder au serveur ldap depuis une autre machine.

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

Créer le conteneur openldap

Il s'agit du comportement par défaut lorsque vous exécutez cette image. Cela créera un ldap ouvert pour Unixcop.com. Et le domaine example.com . Par défaut, l'administrateur a le mot de passe admin . Tous ces paramètres par défaut peuvent être modifiés sur la ligne de commande du menu fixe, par exemple :

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

Les répertoires /var/lib/ldap (fichiers de base de données LDAP) et /etc/ldap/slapd.d (fichiers de configuration LDAP) sont utilisés pour conserver le schéma et les informations de données. Ils doivent être mappés en tant que volumes, afin que vos fichiers LDAP soient enregistrés en dehors du conteneur (utilisez une base de données LDAP existante). Cependant, il peut être utile de ne pas utiliser de volumes si l'image doit fournir l'image complète avec des données de test - ceci est particulièrement utile lors de la dérivation d'autres images à partir de celle-ci.

Cette image peut charger des fichiers ldif et schéma à partir d'un chemin interne au démarrage. De plus, vous pouvez copier des certificats à partir d'un répertoire interne. Ceci est utile si un service d'intégration continue monte automatiquement la copie de travail (sources) dans un service docker, qui se rapporte au travail ci.

Par exemple, GitLab ne peut pas monter de chemins personnalisés dans les services docker d'un travail ci, mais Gitlab met automatiquement à l'échelle la copie de travail dans chaque conteneur de services. Ainsi, la copie de travail (sources) est accessible sous /built-in chaque service d'un travail ci. Le répertoire du certificat peut obtenir le chemin d'accès à la copie de travail via ${CI_PROJECT_DIR}. Voir aussi :https://docs.gitlab.com/runner/executors/docker.html#build-directory-in-service

Cela peut également fonctionner avec d'autres services CI s'ils montent automatiquement le répertoire de travail sur les services d'un travail ci comme le fait Gitlab ci.

Pour amorcer des fichiers ldif ou schéma à partir du chemin d'accès interne, vous devez définir la variable d'environnement spécifique LDAP_SEED_INTERNAL_LDIF_PATH et LDAP_SEED_INTERNAL_SCHEMA_PATH. Si sélectionné, cela copiera tous les fichiers du répertoire spécifié dans les répertoires d'ensemencement par défaut de cette image.

 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"

Ajouter un groupe au conteneur 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

Peut être fait à l'intérieur du conteneur

# 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

Ajout d'un utilisateur au conteneur 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. Comment installer OpenLDAP Server sur Debian ou Ubuntu

  2. Comment exécuter Nginx dans un conteneur Docker :un guide étape par étape

  3. Configuration étape par étape du serveur OpenLDAP sur CentOS 7 / RHEL 7

  4. Exécuter Podman sans racine en tant qu'utilisateur non root

  5. Utilisation de fichiers et d'appareils dans des conteneurs sans racine Podman

Conteneur de serveur FTP Podman rapide et droit et 4 étapes sales

1 conteneur de serveur DNS Podman sale facile

1 conteneur de serveur Nagios xi Simple et rapide

Conteneur de serveur HAProxy Podman rapide 100% facile

Comment configurer le serveur OpenLDAP sur Debian 10

Installer Ubuntu Server 18.04 LTS - Guide étape par étape facile