Ceci est une ancienne révision du document !


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 :-)
sysadmin/tips/ldap.1424347418.txt.gz · Dernière modification: 2015/02/19 13:03 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0