Tag Archives: openldap administration

OpenLDAP tutorial – Remotly configuration management by the administrator

Prerequisites: OpenlDAP is installed and pre configured on a Debian, Ubuntu or compliant system. cf. previous articles about OpenLDAP.

1. Avoid entering the administrator password at each command

Store the super administrator password (“admin” in the sample) in a file:
echo -n "admin" > ~/pwdAdmin
chmod 600 ~/pwdAdmin
This creates the «pwdAdmin» file that contains the super administrator password. To test its use:
ldapsearch -x -H ldap://localhost -D cn=admin,dc=ldaptuto,dc=net -y ~/pwdAdmin -b dc=ldaptuto,dc=net
The advantage of using the server administrator account instead of the system administrator account (root) is that you can execute remote commands. Those commands may be launched from a desktop machine. in this case replace localhost with the DNS name of the remote machine or its IP address.

2. Super administrator access rights to server configuration

The configuration of the OpenLDAP server is located in the database under the DIT cn = config. It’s the equivalent of the configuration file slapd.conf content in the old-style work. By default the super administrator cannot access this configuration:
ldapsearch -x -H ldap://localhost -D cn=admin,dc=ldaptuto,dc=net -y ~/pwdAdmin -b cn=config
The result of this command is empty. We will use the «root» system user’s extended rights to give the OpenLDAP server super administrator access to the configuration data. Create ths LDIF file «acces-admin.ldif» who has the content:
dn: olcDatabase={0}config,cn=config
changeType: modify
add: olcAccess
olcAccess: to * by dn.exact=cn=admin,dc=ldaptuto,dc=net manage by * break
Then, execute the modify command on the server:
sudo ldapmodify -Y external -H ldapi:/// -f acces-admin.ldif
This gives read and write rights on all configuration data of the server to the administrator (cn=admin,dc=ldaptuto,dc=net). It can easily be verified by running the previous query on this data and did not return any results.]]>

Openldap tutorial – Administration par interface graphique

Pré-requis: L’article Ajouter des données à l’annuaire ainsi que ses pré-requis sont lus. Le serveur OpenLDAP est installé et alimenté avec les données de l’article.

1. Installation de JXplorer.

JXplorer est un utilitaire d’administration de serveurs LDAP multiplateformes (écrit en Java, donc ne nécessite que la présence d’un JRE sur tout type de système). Vérifier la disponibilité de cet utilitaire sur le système:
apt-cache search jxplorer ↵
jxplorer - Navigateur LDAP en Java
Installation de jxplorer:
sudo apt-get install jxplorer
JXplorer étant un utilitaire avec interface graphique, il faudra le lancer à partir du menu du bureau installé. Par exemple sous KDE : Menu K / Applications / Développement / LDAP Browser (JXplorer)

Openldap tutorial jxplorer2. Connexion au serveur

Pour se connecter au serveur OpenLDAP il convient d’utiliser le menu: Fichier / Se connecter. L’utilisation de ce menu affiche la fenêtre de connexion: Hote: localhost (ou 127.0.0.1), Si le serveur est sur une machine différente utiliser l’adresse IP de cette machine. Port: Par défaut le port ldap est 389, donc utiliser cette valeur sauf exception. Protocole: Utiliser LDAP v3, car c’est la version actuelle du protocile LDAP (sauf exception de système ancien) Base DN: Le noeud de l’arbre qui constituera la racine des données accédées, utiliser le DIT du serveur pour tout avoir. Sécurité / Niveau: Utilisateur + Mot de passe. Les autres niveaux de sécurités ne seront pas abordés ici. Utilisateur DN: Le DN de l’utilisateur de connexion, utiliser le DN de l’administrateur du serveur. Mot de passe: Utiliser le mot de passe configuré pour l’utilisateur choisi. Un click sur le bouton “OK” lance la connexion. En cas d’erreur, un message s’affiche pour indiquer le type d’erreur. Si les paramètres saisi sont corrects la connexion s’établit.

3. Navigation dans le contenu des données.

Deux volets principaux permettent d’explorer les données gérées par le serveur. Openldap tutorial jxplorerLe volet de gauche permet de naviguer dans l’arborescence des données. Le volet de droite affiche les données relatives à l’objet selectionné dans le volet de gauche. Il permet également (sous reserve de droits) de modifier les données de cet objet.

4. Ajouter une personne à l’annuaire OpenLDAP

Pour ajouter une personne, il convient de se placer (volet gauche) sur le noeud “People”. Utiliser, après cela le menu Editer / Nouveau Openldap tutorial jxplorerSaisir dans le champ RDN: uid=petit et cliquer sur le bouton “Ajouter” Openldap tutorial jxplorerCompléter la saisie des données: sn : Petit, givenName: Michel, cn: Michel Petit et userPassword. La saisie du mot de passe (userPassword) se fait dans une fenêtre séparée. Openldap tutorial jxplorerSaisir deux fois, dans les deux champs de siaise: petit. La combobox permet de sélectionner le niveau de cryptage souhaité: SHA ou SSHA constituent un bon choix. Cliquer sur “OK” pour valider le mot de passe, ensuite sur “Soumettre” pour valider la nouvelle entrée.

5. Ajouter un noeud conteneur

Si on souhaite ajouter des structures à l’annuaire (direction, service informatique..), il convient d’ajouter un noeud conteneur au même niveau que “People”. Il faut d’abord se placer sur le DIT “ldaptuto” et utiliser ensuite le menu Editer / Nouveau. Openldap tutorial jxplorerSupprimer les classes “simpleSecurityObject” et “organizationalRole” car elles ne correspondent pas à un noeud conteneur. Pour cela utiliser le bouton “Supprimer”. Openldap tutorial jxplorerAjouter la classe “organizationalUnit”. Utiliser le bouton “Ajouter” après la selection de la classe dans la liste. Saisir, ensuite, dans le champ RDN celui du noeud à créer: ou=Structures. Cliquer enfin sur le bouton “Ajouter”. Openldap tutorial jxplorerLe bouton “Soumettre” permet d’enregistrer cette modification et valider la création du noeud conteneur.]]>

OpenLDAP tutorial (4) – Accès à la configuration dynamique par l'administrateur

Objectif: OpenLDAP tutorial (4) a pour objectif de donner à l’administrateur du serveur OpenLDAP, créé à l’installation, les droits de gérer les données de la configuration. Ceci devrait faciliter la gestion de cette configuration, notamment en ouvrant la possibilité de la modifier à distance. Pré-requis: OpenlDAP est installé et pré-configuré sur une machine Debian, Ubuntu ou compatible. cf. les articles précédents au sujet d’OpenLDAP.

1. Eviter de saisir le mot de passe de l’administrateur à chaque commande

On stocke le mot de passe du super administrateur (ici “admin” à titre d’exemple) dans un fichier:
echo -n "admin" > pwdAdmin
chmod 600 pwdAdmin
Ceci crée le fichier pwdAdmin qui contient le mot de passe du super administrateur. Pour tester son utilisation:
ldapsearch -x -H ldap://localhost -D cn=admin,dc=ldaptuto,dc=net -y pwdAdmin -b dc=ldaptuto,dc=net
L’intérêt d’utiliser le compte de l’administrateur du serveur au lieu de celui de l’administrateur système de la machine (root) est qu’on peut lancer les commandes à distance (dans ce cas remplacer localhost par le nom de la machine distante).

2. Droits d’accès du super administrateur à la configuration du serveur

La configuration du serveur OpenLDAP se trouve dans la base de données sous le DIT cn=config. Il s’agit de l’équivalent du contenu du fichier de configuration dans l’ancien mode de fonctionnement. Par défaut le super administrateur ne peut pas accéder à cette configuration:
ldapsearch -x -H ldap://localhost -D cn=admin,dc=ldaptuto,dc=net -y pwdAdmin -b cn=config
Le résultat est vide. On va utiliser les droits étendu de l’utilisateur système root pour donner un droit d’accès à la configuration au super administrateur du serveur OpenLDAP. Créer le fichier LDIF acces-admin.ldif, dont le contenu est :
dn: olcDatabase={0}config,cn=config
changeType: modify
add: olcAccess
olcAccess: to * by dn.exact=cn=admin,dc=ldaptuto,dc=net manage by * break
Exécuter la commande d’ajout de ce fichier sur le serveur:
sudo ldapmodify -Y external -H ldapi:/// -f acces-admin.ldif
Ceci donne les droits de lecture et d’écriture sur toutes les données de la configuration du serveur à l’administrateur (cn=admin,dc=ldaptuto,dc=net). On peut facilement le vérifier en lançant la requête précédente sur ces données et qui n’a retourné aucun résultat.]]>