Bonjour tout le monde,
Je travaille pour une école et suis chargé de mettre en place un serveur linux hébergeant un OpenLDAP. Jusque là, aucun problème . Notre école fait partie d'une entité bien plus grande qui est gérée par un service informatique départemental. Ce dernier possède un AD Microsoft avec tous les élèves/professeurs du département. De ce dernier, je vais recevoir toutes les nuits un fichier excel (je vais demander plutôt un fichier .csv) contenant tous les enseignants et les élèves de notre école. Ce fichier va représenter environ 2000 personnes.
Mon job sera donc, à partir de ce fichier, de mettre à jour mon OpenLAP. Je pensais partir sur un bash script effectuant le travail suivant :
Je crée un fichier ldif vide et je vais y ajouter différentes entrées, à savoir :
Je lis tout d'abord tous les enregistrements de mon fichier csv et, pour chacun d'entre eux, vérifier si l'entrée existe dans mon OpenLDDAP.
Si l'entrée existe, je ne peux pas exclure que l'un de ses attributs (nom, prénom, etc.) a été modifié. J'insère donc dans mon fichier ldif les données de cet enregistrement avec la commande de mise à jour (changetype: modify
).
Si l'entrée n'existe pas, j'insère dans mon fichier ldif cet enregistrement avec la commande d'ajout (changetype: add)
.
Une fois que j'ai parcouru mon fichier csv, je parcoure toutes les entrées de type "user" de mon OpenLDAP. Pour chaque entrée, je vérifie si un enregistrement existe dans mon fichier csv.
Si l'enregistrement existe, je ne fais rien.
Si l'enregistrement n'existe pas, alors l'utilisateur doit être effacée. J'insère donc dans mon fichier ldif cet enregistrement avec l'option d'effacement (changetype: delete)
Une fois terminé, j'envoie mon fichier ldif avec toutes ces modifications à mon serveur OpenLDAP et je croise les doigts
N'ayant jamais travaillé avec des fichiers ldif, pensez-vous que cette manière de faire est 'jouable' ? Sinon, existe-t-il, selon vous, un meilleur moyen d'effectuer cette synchronisation (je n'ai aucune possibilité d'accéder directement au serveur AD du département ; je dois me débrouiller avec leur export).
Finalement, quelqu'un serait-il prêt à m'aider à développer ce script ? (moyennant finance) .
D'avance, merci à tous pour votre aide
Meilleures salutations
Arnaud
Partager