LDAP
- Création Docker OPENLDAP image OSIXIA / GITHUB avec réplication
- Création OpenLdap
- Passage ldif, changement des information
- OpenLdap commande
Création Docker OPENLDAP image OSIXIA / GITHUB avec réplication
creation fake Docker sur le serveur : CREATION LDAP TEST SANS REPLICATION POUR TESTER un LDIF.
LDAP_CID=$(docker run --restart always --name ldap-test --hostname "hostname" --env LDAP_BASE_DN="DC" --env LDAP_ORGANISATION="NOM" --env LDAP_DOMAIN="domaine" --env LDAP_ADMIN_PASSWORD=PASSWORD --env LDAP_TLS=false -v /data2/ldap:/var/lib/ldap -v /data2/slapd.d:/etc/ldap/slapd.d -p 1389:389 --detach osixia/openldap:1.5.0)
########################################################################################################################################
creation Vrai Docker sur srv 1 avec replication et sécurité certificat ect.. = c'est une commande entiere a cp
LDAP_CID=$(docker run --restart always --name ldap --hostname "hostname" --env LDAP_BASE_DN="DC" --env LDAP_ORGANISATION="NOM" --env LDAP_DOMAIN="domaine" --env LDAP_ADMIN_PASSWORD=PASSWORD --env LDAP_TLS=true --env LDAP_TLS_VERIFY_CLIENT=never --env LDAP_REPLICATION=true --env LDAP_REPLICATION_HOSTS="#PYTHON2BASH:['ldap://noomduldap','ldap://noomduldap']" --env LDAP_TLS_CRT_FILENAME=cert.crt --env LDAP_TLS_KEY_FILENAME=cert.key --env LDAP_TLS_CA_CRT_FILENAME=ca.crt -v /data/ldap:/var/lib/ldap -v /data/slapd.d:/etc/ldap/slapd.d --volume /etc/pki/openldap/pprod-2:/container/service/slapd/assets/certs -p 389:389 -p 636:636 --detach osixia/openldap:1.5.0)
creation Vrai Docker sur srv 2 avec replication sur le 1 et sécurité certificat ect.. = c'est une commande entiere a cp
LDAP_CID=$(docker run --restart always --name ldap --hostname "hostname" --env LDAP_BASE_DN="DC" --env LDAP_ORGANISATION="NOM" --env LDAP_DOMAIN="domaine" --env LDAP_ADMIN_PASSWORD=PASSWORD --env LDAP_TLS=true --env LDAP_TLS_VERIFY_CLIENT=never --env LDAP_REPLICATION=true --env LDAP_REPLICATION_HOSTS="#PYTHON2BASH:['ldap://noomduldap','ldap://noomduldap']" --env LDAP_TLS_CRT_FILENAME=cert.crt --env LDAP_TLS_KEY_FILENAME=cert.key --env LDAP_TLS_CA_CRT_FILENAME=ca.crt -v /data/ldap:/var/lib/ldap -v /data/slapd.d:/etc/ldap/slapd.d --volume /etc/pki/openldap/pprod-2:/container/service/slapd/assets/certs -p 389:389 -p 636:636 --detach osixia/openldap:1.5.0)
Suppresion du docker et des data docker, vite fait et efficace, vous pouvez après recréer le ldap dockeriser avec les commande du dessus :
########################################################################################################################################
Outils en interface sur windows qui aide a rentrer des ldif ou troublehsoot des compte ect …
commande test ldap et autres voir si il répond.
ldapsearch -x -H ldap://noomduldap -b dc=,dc= -D "cn=,dc=,dc=" -W
ldappasswd -D "cn=,dc=,dc=" -W -S "uid=mail@domaine.com,ou=,ou=,dc=,dc="
ldapwhoami -x -D "uid=mail@domaine.com,ou=,ou=,dc=,dc=" -W -v
ldapsearch -x -H ldap://noomduldap -b dc=,dc= -D "cn=,dc=,dc=" -W
ldapwhoami -x -D "uid=mail@domaine.com,ou=,ou=,dc=,dc=" -W -v
ldapwhoami -x -D "uid=,ou=,ou=,dc=,dc=" -W –v
grep -5ni 'test.test,' LdapExt-Prod-FINAL.ldif = = pour rechercher les user ou erreur dans un contexte chaine de caractère sur du dn ou uid
commande test ldap et autres voir si il répond.
Debug docker logs :
Créer un ldif :
ldapsearch -x -H ldap://localhost -D "cn=admin,dc=example,dc=com" -w admin_password -b "dc=example,dc=com" "(objectClass=*)" > backup.ldif
Création OpenLdap
Install package openldap, on utilise yum pour éviter les problèmes de dépendances
yum -y install openldap* migrationtools
Une fois installé, créé le Password admin du ldap
slappaswd
Copier le SHA pour l'intégrer plus tard dans le fichier de configuration
Accéder au dossier config du ldap et modifier le fichier olcDatabase={2}hdb.ldif
Modifier les paramètres "olcSuffix" et "olcRootDN" selon votre domaine et ajouter "olcRootPW"
Ajout des droits de monitor au compte en modifiant le fichier olcDatabase={1}monitor.ldif :
Modifier les paramètres "olcAccess" de votre domaine et ajouter
Verifier la configuration avec la commande suivante
slaptest -u
Nous pouvons ignorer les erreurs checksum
Démarrer le service, l'ajouter au démarrage automatique et vérifier le démarrage
Copier le sample de la base et attribuer les droits :
Créé les schéma pour le ldap :
Passage ldif, changement des information
Passage d'un ldif qui parvient d'une autre entité, il faut passer ce script pour retirer les informations du fichier ldif pour ne pas avoir l'erreur CONSTRAINTE 61
#SCRIPT
#!/bin/bash
echo "inupt file LdapExt-Prod.ldif "cat $1 | grep --binary-files=text -vi structuralObjectClass > tmp1.ldif
cat tmp1.ldif | grep --binary-files=text -vi entryUUID > tmp2.ldif
cat tmp2.ldif | grep --binary-files=text -vi creatorsName > tmp3.ldif
cat tmp3.ldif | grep --binary-files=text -vi createTimestamp > tmp4.ldif
cat tmp4.ldif | grep --binary-files=text -vi entryCSN > tmp5.ldif
cat tmp5.ldif | grep --binary-files=text -vi modifiersName > tmp6.ldif
cat tmp6.ldif | grep --binary-files=text -vi modifiersName > tmp7.ldif
cat tmp7.ldif | grep --binary-files=text -vi modifyTimestamp > tmp8.ldif
cat tmp8.ldif | grep --binary-files=text -vi contextCSN > $1-final.ldif
echo "conversion en cours ...\n ...\n...."
echo " fin Conversion , OutPUT file : import-v2.ldif "
# + suppression de l'ou et de l'admin
Il faut aussi ouvrir le ldif et retirer les 2 premieres description ADMIN + OU à la fin du script .
OpenLdap commande
-
ldapwhoami -x -D "uid=*** -W -v
- Cette commande permet de s'authentifier avec l'utilisateur spécifié et affiche l'identité LDAP de l'utilisateur actuel (fonction
whoami
).
- Cette commande permet de s'authentifier avec l'utilisateur spécifié et affiche l'identité LDAP de l'utilisateur actuel (fonction
-
ldapsearch -x -LLL -D "cn=admin,dc=***,dc=***" -W -b "ou=extern,ou=users,dc=***,dc=***" "(uid=*)" | grep dn
- Effectue une recherche dans l'annuaire LDAP en filtrant sur l'attribut
uid
et extrait les entrées de typedn
(distinguished name).
- Effectue une recherche dans l'annuaire LDAP en filtrant sur l'attribut
-
cat comptes_geode_extern.ldif | grep -5ni granet
- Affiche les 5 lignes avant et après chaque occurrence de "granet" dans le fichier
comptes_geode_extern.ldif
.
- Affiche les 5 lignes avant et après chaque occurrence de "granet" dans le fichier
-
ldapadd -x -D "cn=admin,dc=***,dc=***" -W -f comptes_geode_extern.ldif
- Ajoute des entrées LDAP à partir du fichier
comptes_geode_extern.ldif
.
- Ajoute des entrées LDAP à partir du fichier
-
ldapdelete -x -r "ou=users,dc=***,dc=***" -W -D "cn=admin,dc=***,dc=***"
- Supprime des entrées récursivement dans l'OU
users
de l'annuaire LDAP.
- Supprime des entrées récursivement dans l'OU
-
ldapsearch -x -LLL -D "cn=admin,dc=***,dc=***" -W -b "cn=admin,dc=***,dc=***" "(objectClass=*)"
- Effectue une recherche LDAP sur l'OU admin et récupère toutes les entrées de ce conteneur.
- Effectue une recherche LDAP sur l'OU admin et récupère toutes les entrées de ce conteneur.
-
ldapwhoami -x -D "cn=admin-byzance,dc=***,dc=***" -W -H ldap://***
- S'authentifie sur un serveur LDAP distant et affiche l'identité LDAP de l'utilisateur.
- S'authentifie sur un serveur LDAP distant et affiche l'identité LDAP de l'utilisateur.
-
ldapsearch -x -H ldap://*** -D "cn=admin,dc=***,dc=***" -W -b "dc=***,dc=***" "(objectClass=*)" > backup-jimmy-test.ldif
- Effectue une recherche sur le serveur LDAP distant et exporte les résultats dans un fichier
backup-jimmy-test.ldif
.
- Effectue une recherche sur le serveur LDAP distant et exporte les résultats dans un fichier
-
ldapsearch -x -H ldap://*** -D "cn=admin,dc=***,dc=***" -W -b "ou=vm,ou=users,dc=***,dc=***" "(objectClass=*)" > ou-vm.ldif
- Recherche les objets dans l'OU
vm
de l'annuaire LDAP distant et exporte les résultats dans le fichier OU-VM.ldif.
- Recherche les objets dans l'OU
-
ldapsearch -x -H ldap://*** -D "cn=admin,dc=***,dc=***" -W -b "ou=byzance,ou=users,dc=***,dc=***" "(objectClass=*)" | grep -c "^dn: "
- Recherche les objets dans l'OU
byzance
et compte le nombre d'entrées dans le résultat.
- Recherche les objets dans l'OU
-
grep -c "^dn: uid=" OU-FULL-BACKUP-PROD/full-backup-prod-09-09-2024.ldif > directement sur un file.ldif
- Recherche dans un fichier LDIF et compte le nombre d'entrées de type
dn
pour l'attributuid
.
- Recherche dans un fichier LDIF et compte le nombre d'entrées de type