Administration via phpldapadmin (OpenLDAP)

phpldapadmin est le nom d'un paquet qui permet le management d'OpenLDAP via un navigateur web. Cela fonctionne avec quelques dépendances d'Apache2 et de PHP. Leurs dépendances seront installés automatiquement.

Voici les commandes à taper :

apt-get install phpldapadmin
ln -s /usr/share/phpldapadmin/ /var/www/phpldapadmin

Pour son bon fonctionnement, on renseigne au minium ces informations :

nano /etc/phpldapadmin/config.php
$config->custom->appearance['timezone'] = 'Europe/Paris';
$servers->setValue('server','base',array('dc=local,dc=net'));
$servers->setValue('login','bind_id','cn=admin,dc=local,dc=net');

Il nous reste plus qu'a se connecter à l'adresse du type : http://IP_SERVER/phpldapadmin/

Le mot de passe est le même que celui donnée lors de l'installation dans le précédent tutoriel.

Ajouter des entrées

Depuis le menu de gauche on sélectionne Create new entry here puis on clique sur generic : Organisational Unit :

On appel l'objet, par exemple, TP puis on le commit pour valider la transaction.

Par la suite on ajoutera naturellement un utilisateur s’appelant toto en cliquant sur create a child entry.

Sélectionnez ensuite Generic : user account pour renseigner les informations liée à ce nouvel utilisateur.

Pour l'exemple, j'ai ici volontairement renseigné tous les champs dont le prénom, nom, mot de passe, type de shell, etc.

Après avoir envoyé le commit, on s’aperçoit qu'un nouveau CN (Common Name) est apparu comme dans l'exemple ci-dessous :

Ainsi, depuis le serveur avec la commande ci-joint, on voit bien que les modifications ont été pris en compte:

ldapsearch -x
# tp, local.net
dn: ou=tp,dc=local,dc=net
objectClass: organizationalUnit
objectClass: top
ou: tp

# toto toto, tp, local.net
dn: cn=toto toto,ou=tp,dc=local,dc=net
cn: toto toto
givenName: toto
gidNumber: 2000
homeDirectory: /home/users/ttoto
sn: toto
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 1000
uid: ttoto
ldapsearch -x -h 172.16.1.1 -LLL -b 'ou=computer,dc=domaine,dc=net' "(&(computerOS=*jessie*)(NagiosEnabled=TRUE))" |grep dnsPTRrecord