Ceci est une ancienne révision du document !
Table des matières
LDAP
Obtenir la liste des suffixes disponibles sur un serveur LDAP
Pour btenir la liste des suffixes disponibles sur un serveur LDAP :
ldapsearch -xLL -h ldap.mondomaine.com -b "" -s base "objectclass=*" "cn=SubSchema" +
qui devrait vous renvoyer un résultat similaire à :
... namingContexts: dc=local ...
Utiliser ses credentials UNIX(Linux) pour effectuer une recherche LDAP
Pour ne pas avoir à retaper ses credentials, on peut se connecter au serveur LDAP via le socket UNIX :
- deja pour verifier que votre serveur LDAP ecoute sur un socket UNIX :
# ps aux | grep ldapi
- si vous voyez une ligne similaire à celle qui suit c'est gagné :
openldap 10773 0.0 0.2 101128 5616 ? Ssl févr.13 0:36 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d
- sinon il faut dire a slapd d'ecouter sur un socket, pour se faire sous debian/ubuntu cela se passe dans le fichier /etc/default/slapd : chercher la definition de SLAPD_SERVICES et ajoutez y ldapi:/// pour obtenir une ligne similaire à :
SLAPD_SERVICES="ldap:/// ldapi:///"
- Un restart du service slapd plus tard ca devrait être bon :
service slapd restart
- Il ne reste plus qu'à effectuer votre recherche (l'emplacement du socket peut être différent si vous n'utilisez pas la même distribution/version : adaptez à votre cas ) :
- trouver quel socket utiliser grâce a netstat :
# netstat -nlp | grep slap
qui doit renvoyer quelque chose comme :
# netstat -nlp | grep slap tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 4319/slapd tcp6 0 0 :::389 :::* LISTEN 4319/slapd unix 2 [ ACC ] STREAM LISTENING 9727856 4319/slapd /var/run/slapd/ldapi
tadaaaa voila notre socket
- faire enfin notre ldapsearch (autentification EXTERNAL en passant le socket en paramètre) :
ldapsearch -Y EXTERNAL -H ldapi://%2fvar%2frun%2fslapd%2fldapi -b "cn=config" "(objectclass=*)" dn
L'intéret de cette méthode est par exemple d'effetuer des modifications sur le cn=config sans avoir défini d'utilisateur ni ACLs pour y accéder : il suffit alors d'être root sur la machine locale en lançant les commandes de modification : on est alors root sur le LDAP
