ldapsearch

Utilitaire de ligne de commande de recherche LDAP.

Usage

ldapsearch [-a deref] [-A] [-b searchbase] [-B] [-c pattern] [-C charset] 
[-d debuglevel][-D binddn] [-e] [-f file] [-F sep] [-G realm] [-h ldaphost] 
[-i file][-j limit] [-J limit] [-k] [-K keyfile]
[-l timelimit] [-L] [-m mechanism] [-M] [-n] [-N certificatename]
[-o attr_type] [-O maxhops] [-p ldapport] [-P keyfilepw] [-q pagesize]
[-R] [-s scope ] [-t] [-T seconds] [-U username] [-v] [-V version]
[-w passwd | ?] [-x] [-y proxydn] [-Y] [-z sizelimit] [-Z]
filter [-9 p] [-9 s] [attrs…]

Description

ldapsearch est une interface de ligne de commande de l'interface de programme d'application (API) ldap_search.

ldapsearch ouvre une connexion à un serveur LDAP, lie et effectue une recherche à l'aide du filtre. Le filtre doit être conforme à la représentation de chaîne des filtres LDAP (voir ldap_search dans les API du serveur d'annuaire pour plus d'informations sur les filtres).

Si ldapsearch trouve une ou plusieurs entrées, les attributs spécifiés par les attributs sont extraits et les entrées et les valeurs sont imprimées dans la sortie standard. Si aucun attribut n'est répertorié, tous les attributs sont renvoyés.

Pour afficher l'aide sur la syntaxe de ldapsearch, entrez ldapsearch -?.

Options

-a deref
Indiquez comment le déréférencement des alias est effectué. deref doit être l'une des valeurs de never, always, search ou find pour spécifier que les alias ne sont jamais déréférencés, toujours déréférencés, déréférencés lors de la recherche ou déréférencés uniquement lors de la localisation de l'objet de base pour la recherche. La valeur par défaut est de ne jamais déréférencer les alias.
-A
Extraire uniquement les attributs (aucune valeur). Cela est utile lorsque vous souhaitez simplement voir si un attribut est présent dans une entrée et ne sont pas intéressés par les valeurs spécifiques.
-b base de recherche
Utilisez searchbase comme point de départ de la recherche à la place de la valeur par défaut. Si -b n'est pas spécifié, cet utilitaire examine la variable d'environnement LDAP_BASEDN pour une définition de base de recherche. Si aucun des deux n'est défini, la base par défaut est définie sur "".
-B
Ne pas supprimer l'affichage des valeurs non ASCII. Cela est utile lorsque vous utilisez des valeurs qui apparaissent dans d'autres jeux de caractères, tels que ISO-8859.1. Cette option est impliquée par l'option -L .
-c modèle
Effectue une recherche permanente. Le format du modèle doit être ps:changeType[:changesOnly[:entryChangeControls]], où changeType peut être add, delete, modify, moddn, and any. Les paramètres changesOnly et entryChangeControls sont des paramètres booléens et peuvent être définis sur VRAI ou FAUX.
Remarque: Lorsque l'option de déréférencement d'alias est'find', seul l'objet de base de recherche doit être déréférencé s'il s'agit d'un alias. Cela signifie que même s'il s'agit d'une recherche à un niveau ou d'une sous-arborescence, les entrées d'alias subordonnées sous la base ne sont pas censées être déréférencées. Toutefois, s'il s'agit d'une recherche persistante qui signale des entrées modifiées et qu'une entrée modifiée est un alias, elle est déréférencée même si elle est subordonnée à la base de recherche.
-C charset
Indique que les chaînes fournies en entrée à l'utilitaire ldapsearch sont représentées dans un jeu de caractères local (tel que spécifié par le jeu de caractères). L'entrée de chaîne inclut le filtre, le nom distinctif de liaison et le nom distinctif de base. De même, lors de l'affichage des données, ldapsearch convertit les données reçues du serveur LDAP en jeu de caractères spécifié. Utilisez l'option -C charset si la page de codes de la chaîne d'entrée est différente de la valeur de la page de codes du travail. Reportez-vous à l'API ldap_set_iconv_local_charset () pour voir les valeurs de jeu de caractères prises en charge. De plus, si l'option -C et l'option -L sont toutes deux spécifiées, l'entrée est supposée se trouver dans le jeu de caractères spécifié, mais la sortie de ldapsearch est toujours conservée dans sa représentation UTF-8 ou dans une base-64 représentation codée des données lorsque des caractères non imprimables sont détectés. C'est le cas car les fichiers LDIF standard contiennent uniquement des représentations UTF-8 (ou base-64 UTF-8) de données de chaîne. Notez que les valeurs prises en charge pour le jeu de caractères sont les mêmes que celles prises en charge pour la balise de jeu de caractères qui est éventuellement définie dans les fichiers LDIF version 1.
-d debuglevel
Définissez le niveau de débogage LDAP sur debuglevel.
-D binddn
Utilisez binddn pour la liaison à l'annuaire LDAP. binddn doit être un nom distinctif représenté par une chaîne (voir Noms distinctifs LDAP). Lorsqu'il est utilisé avec -m DIGEST-MD5, il est utilisé pour spécifier l'identifiant d'autorisation. Il peut s'agir d'un DN ou d'une chaîne authzId commençant par "u :" ou "dn :".
-e
Affichez les informations de version de la bibliothèque LDAP et quittez.
-f
Effectuez une séquence de recherches à l'aide de filtres dans'file', "%s" doit être remplacé par le filtre.
-F sep
Utilisez sep comme séparateur de zone entre les noms d'attribut et les valeurs. Le séparateur par défaut est ` =', sauf si l'indicateur -L a été spécifié, auquel cas cette option est ignorée.
-G realm
Indiquez le domaine. Ce paramètre est facultatif. Lorsqu'elle est utilisée avec -m DIGEST-MD5, la valeur est transmise au serveur lors de la liaison.
-g before:after:index:count| before:after:value
'before'et'after'sont le nombre d'entrées entourant'index','count'est le nombre de contenus et'value'est la valeur d'assertion pour la clé de tri primaire.
-h ldaphost
Indiquez un autre hôte sur lequel le serveur ldap est en cours d'exécution.
-i fichier
Lire une série de lignes à partir d'un fichier, en effectuant une recherche LDAP pour chaque ligne. Dans ce cas, le filtre fourni sur la ligne de commande est traité comme un modèle dans lequel la première occurrence de %s est remplacée par une ligne du fichier. Si le fichier est un caractère "-" unique, les lignes sont lues à partir d'une entrée standard.
Par exemple, dans la commande, ldapsearch -V3 -v -b "o=sample" -D "cn=admin" -w ldap -i filter.input %s dn, le fichier filter.input peut contenir les informations de filtrage suivantes :
(cn=*Z)
(cn=*Z*)
(cn=Z*)
(cn=*Z*)
(cn~=A)
(cn>=A)
(cn<=B)
Remarque: Chaque filtre doit être spécifié sur une ligne distincte.
La commande effectue une recherche de la sous-arborescence o=sample pour chacun des filtres commençant par cn= *Z.. Lorsque cette recherche est terminée, la recherche commence pour le filtre suivant cn= *Z* et ainsi de suite jusqu'à ce que la recherche du dernier filtre cn < =B soit terminée.
Remarque: L'option -i < fichier > remplace l'option -f < fichier > . L'option -f est toujours prise en charge, bien qu'elle soit obsolète.
-j limite
Nombre maximal de valeurs pouvant être renvoyées pour un attribut dans une entrée. La valeur par défaut est 0, ce qui signifie illimité.
-J limite
Nombre maximal de valeurs d'attribut totales pouvant être renvoyées pour une entrée. La valeur par défaut est 0, ce qui signifie illimité.
-k
Utilisez le contrôle d'administration du serveur lors de la liaison.
-K fichier clé
Indiquez le nom du fichier de la base de données de clés SSL. Si le fichier de la base de données de clés ne se trouve pas dans le répertoire en cours, indiquez le nom complet de la base de données de clés.

Si l'utilitaire ne parvient pas à localiser une base de données de clés, il utilise un ensemble codé en dur de racines d'autorité de certification de confiance par défaut. Le fichier de base de données de clés contient généralement un ou plusieurs certificats d'autorités de certification (CA) approuvés par le client. Ces types de certificats X.509 sont également appelés "racines de confiance".

Ce paramètre active efficacement le commutateur -Z . Pour Directory Server on IBM i si vous utilisez -Z et n'utilisez pas -K ou -N, le certificat associé à l'ID de l'application Directory Services Client sera utilisé.

-l timelimit
Attendez au maximum quelques secondes pour qu'une recherche se termine.
-L
Affiche les résultats de la recherche au format LDIF. Cette option active également l'option -B et fait en sorte que l'option -F soit ignorée.
-m mécanisme
Utilisez mécanisme pour spécifier le mécanisme SASL à utiliser pour la liaison au serveur. L'API ldap_sasl_bind_s () est utilisée. Le paramètre -m est ignoré si -V 2 est défini. Si -m n'est pas spécifié, l'authentification simple est utilisée. Les mécanismes valides sont les suivants:
  • CRAM-MD5 -protège le mot de passe envoyé au serveur.
  • EXTERNAL-utilise le certificat SSL. Requiert -Z.
  • GSSAPI-utilise les données d'identification Kerberos de l'utilisateur.
  • DIGEST-MD5 -nécessite que le client envoie une valeur de nom d'utilisateur au serveur. Requiert -U. Le paramètre -D (généralement le DN de liaison) est utilisé pour spécifier l'ID d'autorisation. Il peut s'agir d'un DN ou d'une chaîne authzId commençant par u : ou dn :.
  • OS400_PRFTKN -s'authentifie auprès du serveur LDAP local en tant qu'utilisateur IBM i en cours à l'aide du nom distinctif de l'utilisateur dans le système de back end projeté. Les paramètres -D (bind DN) et -w (password) ne doivent pas être spécifiés.
-M
Gérez les objets de recommandation en tant qu'entrées standard.
-n
Afficher ce qui serait fait, mais ne pas réellement modifier les entrées. Utile pour le débogage avec -v.
-N nom du certificat
Indiquez le libellé associé au certificat client dans le fichier de la base de données de clés.
Remarque: Si le serveur LDAP est configuré pour effectuer uniquement l'authentification du serveur, un certificat client n'est pas requis. Si le serveur LDAP est configuré pour effectuer une authentification client et serveur, un certificat client peut être requis. certificatename n'est pas obligatoire si une paire certificat / clé privée par défaut a été désignée comme valeur par défaut. De même, certificatename n'est pas requis s'il existe une seule paire certificat / clé privée dans le fichier de base de données de clés désigné. Ce paramètre est ignoré si ni -Z ni -K n'est spécifié.

Pour Directory Server on IBM i si vous utilisez -Z et n'utilisez pas -K ou -N, le certificat associé à l'ID de l'application Directory Services Client sera utilisé.

-o attr_type
Pour spécifier un attribut à utiliser comme critère de tri des résultats de la recherche, vous pouvez utiliser le paramètre -o (ordre). Vous pouvez utiliser plusieurs paramètres -o pour définir plus précisément l'ordre de tri. Dans l'exemple suivant, les résultats de la recherche sont triés d'abord par nom de famille (sn), puis par prénom, le prénom (givenname) étant trié dans l'ordre inverse (décroissant), comme indiqué par le signe moins préfixé (-):
-o sn -o -givenname

Ainsi, la syntaxe du paramètre sort est la suivante:

 	[-]<attribute name>[:<matching rule OID>]

  • attribute name est le nom de l'attribut que vous souhaitez trier.
  • matching rule OID est l'ID objet facultatif d'une règle de correspondance que vous souhaitez utiliser pour le tri. L'attribut d'ID objet de la règle correspondante n'est pas pris en charge par le serveur d'annuaire, mais d'autres serveurs LDAP peuvent prendre en charge cet attribut.
  • Le signe moins (-) indique que les résultats doivent être triés dans l'ordre inverse.
  • La criticité est toujours critique.

L'opération ldapsearch par défaut consiste à ne pas trier les résultats renvoyés.

-O maxhops
Spécifiez maxhops pour définir le nombre maximal de tronçons pris par la bibliothèque client lors de la recherche de références. Le nombre de sauts par défaut est 10.
-p ldapport
Indiquez un autre port TCP sur lequel le serveur ldap est à l'écoute. Le port LDAP par défaut est 389. S'il n'est pas spécifié et que -Z est spécifié, le port SSL LDAP 636 est utilisé par défaut.
-P keyfilepw
Indiquez le mot de passe de la base de données de clés. Ce mot de passe est requis pour accéder aux informations chiffrées du fichier de la base de données de clés (qui peut inclure une ou plusieurs clés privées). Si un fichier de dissimulation de mot de passe est associé au fichier de la base de données de clés, le mot de passe est obtenu à partir du fichier de dissimulation de mot de passe et le paramètre -P n'est pas requis. Ce paramètre est ignoré si ni -Z ni -K n'est spécifié.
-q pagesize
Pour spécifier la pagination des résultats de la recherche, deux paramètres peuvent être utilisés : -q (taille de la page de recherche) et -T (délai entre les recherches en secondes). Dans l'exemple suivant, les résultats de la recherche renvoient une page (25 entrées) à la fois, toutes les 15 secondes, jusqu'à ce que tous les résultats de cette recherche soient renvoyés. Le client ldapsearch gère toutes les continuation de connexion pour chaque demande de résultats paginée pendant la durée de vie de l'opération de recherche.

Ces paramètres peuvent être utiles lorsque le client dispose de ressources limitées ou lorsqu'il est connecté via une connexion à faible bande passante. En général, il vous permet de contrôler le débit auquel les données sont renvoyées à partir d'une demande de recherche. Au lieu de recevoir tous les résultats à la fois, vous pouvez obtenir quelques entrées (une page) à la fois. En outre, vous pouvez contrôler la durée du délai entre chaque demande de page, ce qui donne au client le temps de traiter les résultats.

 -q 25  -T 15

Si le paramètre -v (verbose) est spécifié, ldapsearch indique le nombre d'entrées renvoyées jusqu'à présent, après chaque page d'entrées renvoyée par le serveur, par exemple, 30 entrées totales ont été renvoyées.

Plusieurs paramètres -q sont activés afin que vous puissiez spécifier différentes tailles de page tout au long de la durée d'une opération de recherche. Dans l'exemple suivant, la première page est de 15 entrées, la deuxième page est de 20 entrées et le troisième paramètre met fin à l'opération de recherche / résultat de page:

-q 15 -q 20 -q 0

Dans l'exemple suivant, la première page contient 15 entrées et le reste des pages 20 entrées, en continuant avec la dernière valeur -q spécifiée jusqu'à la fin de l'opération de recherche:

-q 15 -q 20

L'opération ldapsearch par défaut consiste à renvoyer toutes les entrées dans une seule demande. Aucune pagination n'est effectuée pour l'opération ldapsearch par défaut.

-R
Indique que les références ne doivent pas être suivies automatiquement.
-s scope
Indiquez la portée de la recherche. La portée doit être une base, une ou une sous-base pour spécifier un objet de base, un niveau ou une recherche de sous-arborescence. La valeur par défaut est sub.
-t
Ecrire les valeurs extraites dans un ensemble de fichiers temporaires. Ceci est utile pour traiter les valeurs non ASCII telles que jpegPhoto ou audio.
-T secondes
Délai entre les recherches (en secondes). L'option -T n'est prise en charge que si l'option -q est spécifiée.
-U nom_utilisateur
Indiquez le nom d'utilisateur. Requis avec -m DIGEST-MD5 et ignoré avec tout autre mécanisme.
-v
Utilisez le mode prolixe, avec de nombreux diagnostics écrits dans la sortie standard.
-V
Indique la version LDAP à utiliser par ldapmodify lorsqu'elle est liée au serveur LDAP. Par défaut, une connexion LDAP V3 est établie. Pour sélectionner explicitement LDAP V3, spécifiez "-V 3". Spécifiez "-V 2" pour exécuter une application LDAP V2. Une application, comme ldapmodify, sélectionne LDAP V3 comme protocole préféré en utilisant ldap_init au lieu de ldap_open.
-w passwd | ?
Utilisez passwd comme mot de passe pour l'authentification. Utilisez le? pour générer une invite de mot de passe.
-x
Utiliser le traitement en mode FIPS (SSL/TLS uniquement)
-y proxydn
Définissez l'ID de proxy pour l'opération d'autorisation de proxy.
–Y
Utilisez une connexion LDAP sécurisée (TLS).
-z sizelimit
Limitez les résultats de la recherche à un maximum d'entrées sizelimit. Cela permet de placer une limite supérieure sur le nombre d'entrées renvoyées pour une opération de recherche.
-Z
Utilisez une connexion SSL sécurisée pour communiquer avec le serveur LDAP. Pour Directory Server on IBM i si vous utilisez -Z et n'utilisez pas -K ou -N, le certificat associé à l'ID de l'application Directory Services Client sera utilisé.
-9 p
Définit la criticité de la pagination sur false. La recherche est traitée sans pagination.
-9 s
Définit la criticité du tri sur false. La recherche est traitée sans tri.
- filtre
Indique une représentation de chaîne du filtre à appliquer dans la recherche. Les filtres simples peuvent être spécifiés sous la forme attributetype=attributevalue. Des filtres plus complexes sont spécifiés à l'aide d'une notation de préfixe selon la forme BNF (Backus Naur Form) suivante:
<filter> ::='('<filtercomp>')'
<filtercomp> ::= <and>|<or>|<not>|<simple>
<and> ::= '&' <filterlist>
<or> ::= '|' <filterlist>
<not> ::= '!' <filter>
<filterlist> ::= <filter>|<filter><filterlist>
<simple> ::= <attributetype><filtertype>
<attributevalue>
<filtertype> ::= '='|'~='|'<='|'>='

La construction'~ ='est utilisée pour spécifier une correspondance approximative. La représentation de <attributetype> et <attributevalue> est décrite dans la RFC 2252, LDAP V3 Attribute Syntax Definitions. En outre, si le type de filtre est'=', <valeur_attribut> peut être un * unique pour réaliser un test d'existence d'attribut, ou peut contenir du texte et des astérisques (*) entrecoupé pour obtenir une correspondance de sous-chaîne.

Par exemple, le filtre "mail = *" recherche toutes les entrées ayant un attribut de courrier. Le filtre "mail=*@student.of.life.edu" recherche toutes les entrées dont l'attribut de courrier se termine par la chaîne spécifiée. Pour placer des parenthèses dans un filtre, mettez-les en échappement avec une barre oblique inversée (\).

Note: Un filtre comme "cn=Bob *", où il y a un espace entre Bob et l'astérisque ( * ), correspond à "Bob Carter" mais pas à "Bobby Carter" dans IBM® Directory. Espace entre "Bob" et le caractère générique (*) affecte le résultat d'une recherche à l'aide de filtres.

Voir RFC 2254, A String Representation of LDAP Search Filters pour une description plus complète des filtres autorisés.

Format de sortie

Si une ou plusieurs entrées sont trouvées, chaque entrée est écrite dans la sortie standard sous la forme suivante:

      Distinguished Name (DN)

      attributename=value

      attributename=value

      attributename=value

     …

Plusieurs entrées sont séparées par une seule ligne vide. Si l'option -F est utilisée pour spécifier un caractère de séparation, elle sera utilisée à la place du caractère ` ='. Si l'option -t est utilisée, le nom d'un fichier temporaire est utilisé à la place de la valeur réelle. Si l'option -A est indiquée, seule la partie "attributename" est écrite.

Exemples

La commande suivante :
 ldapsearch "cn=john doe" cn telephoneNumber
effectue une recherche de sous-arborescence (à l'aide de la base de recherche par défaut) pour les entrées dont le commonName est "john doe". Les valeurs commonName et telephoneNumber sont extraites et imprimées dans la sortie standard. La sortie peut ressembler à ceci si deux entrées sont trouvées:
  cn=John E Doe, ou="College of Literature, Science, and the Arts",
ou=Students, ou=People, o=University of Higher Learning, c=US

  cn=John Doe

  cn=John Edward Doe

  cn=John E Doe 1

  cn=John E Doe

  telephoneNumber=+1 313 555-5432



  cn=John B Doe, ou=Information Technology Division,
ou=Faculty and Staff, ou=People, o=University of Higher Learning, c=US

  cn=John Doe

  cn=John B Doe 1

  cn=John B Doe

  telephoneNumber=+1 313 555-1111

La commande:

ldapsearch -t "uid=jed" jpegPhoto audio

effectue une recherche de sous-arborescence à l'aide de la base de recherche par défaut pour les entrées dont l'ID utilisateur est "jed". Les valeurs jpegPhoto et audio sont extraites et écrites dans des fichiers temporaires. La sortie peut ressembler à ceci si une entrée avec une valeur pour chacun des attributs demandés est trouvée:

cn=John E Doe, ou=Information Technology Division,

  ou=Faculty and Staff,

  ou=People, o=University of Higher Learning, c=US

  audio=/tmp/ldapsearch-audio-a19924

  jpegPhoto=/tmp/ldapsearch-jpegPhoto-a19924

La commande:

ldapsearch -L -s one -b "c=US" "o=university*" o description

effectue une recherche à un niveau au niveau c = US pour toutes les organisations dont le organizationName commence par l'université. Les résultats de la recherche seront affichés au format LDIF (voir Format d'échange de données LDAP). Les valeurs d'attribut organizationName et de description seront extraites et imprimées dans la sortie standard, ce qui génère une sortie similaire à la suivante:

dn: o=University of Alaska Fairbanks, c=US

  o: University of Alaska Fairbanks

  description: Preparing Alaska for a brave new tomorrow

  description: leaf node only



  dn: o=University of Colorado at Boulder, c=US

  o: University of Colorado at Boulder

  description: No personnel information

  description: Institution of education and research



  dn: o=University of Colorado at Denver, c=US

  o: University of Colorado at Denver

  o: UCD

  o: CU/Denver

  o: CU-Denver

  description: Institute for Higher Learning and Research



  dn: o=University of Florida, c=US

  o: University of Florida

  o: UFl

  description: Shaper of young minds



 …

La commande:

ldapsearch -b "c=US" -o ibm-slapdDN "objectclass=person" ibm-slapdDN

effectue une recherche au niveau de la sous-arborescence au niveau c = US pour toutes les personnes. Cet attribut spécial (ibm-slapdDN), lorsqu'il est utilisé pour des recherches triées, trie les résultats de la recherche en fonction de la représentation sous forme de chaîne du Distinguished Name (DN). La sortie peut ressembler à ceci:

cn=Al Edwards,ou=Widget Division,ou=Austin,o=IBM,c=US

cn=Al Garcia,ou=Home Entertainment,ou=Austin,o=IBM,c=US

cn=Amy Nguyen,ou=In Flight Systems,ou=Austin,o=IBM,c=US

cn=Arthur Edwards,ou=Widget Division,ou=Austin,o=IBM,c=US

cn=Becky Garcia,ou=In Flight Systems,ou=Austin,o=IBM,c=US

cn=Ben Catu,ou=In Flight Systems,ou=Austin,o=IBM,c=US

cn=Ben Garcia Jr,ou=Home Entertainment,ou=Austin,o=IBM,c=US

cn=Bill Keller Jr.,ou=In Flight Systems,ou=Austin,o=IBM,c=US

cn=Bob Campbell,ou=In Flight Systems,ou=Austin,o=IBM,c=US

La commande:

ldapsearch –h hostname –o sn –b "o=ibm,c=us" "title=engineer"

renvoie toutes les entrées d'un répertoire d'employés IBM dont le titre est "ingénieur", avec les résultats triés par nom de famille.

La commande:

ldapsearch –h hostname –o -sn –o cn –b "o=ibm,c=us" "title=engineer"

renvoie toutes les entrées d'un annuaire d'employés IBM dont le titre est "ingénieur", avec les résultats triés par nom de famille (dans l'ordre décroissant), puis par nom usuel (dans l'ordre croissant).

La commande:

ldapsearch –h hostname –q 5 –T 3 –b o=ibm,c=us "title=engineer"

renvoie cinq entrées par page, avec un délai de 3 secondes entre les pages pour toutes les entrées d'un répertoire d'employés IBM dont le titre est "ingénieur".

Cet exemple illustre les recherches dans lesquelles un objet de référence est impliqué. Les annuaires LDAP du serveur d'annuaire peuvent contenir des objets de référence, à condition qu'ils contiennent uniquement les éléments suivants:

  • Un nom distinctif (dn).
  • Une classe objectClass (objectClass).
  • Un attribut de recommandation (ref).

Supposons que'System_A'mette en attente l'entrée de référence:

dn: cn=Barb Jensen, ou=Rochester, o=Big Company, c=US
ref: ldap://System_B:389/cn=Barb Jensen,
  ou=Rochester, o=Big Company, c=US
objectclass: referral

Tous les attributs associés à l'entrée doivent résider sur'System_B'.

System_B contient une entrée:

dn: cn=Barb Jensen, ou=Rochester, o=Big Company, c=US
cn: Barb Jensen
objectclass: organizationalPerson
sn: Jensen
telephonenumber: (800) 555 1212

Lorsqu'un client émet une demande à'System_A', le serveur LDAP sur System_A répond au client avec l'URL suivante:

ldap://System_B:389/cn=Barb Jensen,
 ou=Rochester, o=Big Company, c=US                                      

Le client utilise ces informations pour émettre une demande à System_B. Si l'entrée de System_A contient des attributs en plus de dn, objectclasset ref, le serveur ignore ces attributs (sauf si vous spécifiez l'indicateur -R pour indiquer de ne pas poursuivre les références).

Lorsque le client reçoit une réponse de recommandation d'un serveur, il émet à nouveau la demande, cette fois vers le serveur auquel l'URL renvoyée fait référence. La nouvelle demande a la même portée que la demande d'origine. Les résultats de cette recherche varient en fonction de la valeur que vous spécifiez pour la portée de la recherche (-b).

Si vous spécifiez -s base, comme illustré ici:

ldapsearch -h System_A -b 'ou=Rochester, o=Big Company, c=US'
     -s base 'sn=Jensen'                                         

la recherche renvoie tous les attributs pour toutes les entrées avec'sn=Jensen'qui résident dans 'ou=Rochester, o=Big Company, c=US' sur System_A et System_B.

Si vous spécifiez -s sub, comme illustré ici:

ldapsearch -s sub "cn=John"                            

le serveur recherche tous les suffixes et renvoie toutes les entrées avec "cn=John". Il s'agit d'une recherche de sous-arborescence sur une base nulle. L'annuaire entier est recherché avec une seule opération de recherche au lieu d'effectuer plusieurs recherches chacune avec un suffixe différent comme base de recherche. Ce type d'opération de recherche prend plus de temps et consomme plus de ressources système car elle effectue des recherches dans l'ensemble du répertoire (tous les suffixes).

Remarque: Une recherche de sous-arborescence sur une base nulle ne renvoie pas d'informations de schéma, ni d'informations de journal de modification, ni aucune donnée provenant du système de back end projeté par le système.

Si vous spécifiez -s sub, comme illustré ici:

ldapsearch -h System_A -b 'ou=Rochester, o=Big Company, c=US'
     -s sub 'sn=Jensen'                                         

la recherche renvoie tous les attributs pour toutes les entrées avec'sn=Jensen'qui résident dans ou en dessous de 'ou=Rochester, o=Big Company, c=US' sur System_A et System_B.

Si vous spécifiez -s one, comme illustré ici:

ldapsearch -h System_A -b 'ou=Rochester, o=Big Company, c=US'
     -s one 'sn=Jensen'                                         

la recherche ne renvoie aucune entrée sur aucun des deux systèmes. A la place, le serveur renvoie l'URL de référence au client:

ldap://System_B:389/cn=Barb Jensen,
  ou=Rochester, o=Big Company, c=US 

Le client soumet à son tour une demande:

 ldapsearch -h System_B -b 'ou=Rochester, o=Big Company, c=US'
     -s one 'sn=Jensen'                    

Cela ne donne aucun résultat non plus, car l'entrée

dn: cn=Barb Jensen, ou=Rochester, o=Big Company, c=US

réside dans

ou=Rochester, o=Big Company, c=US

Une recherche avec -s one tente de trouver des entrées dans le niveau immédiatement inférieur

ou=Rochester, o=Big Company, c=US

Diagnostic

L'état de sortie est 0 si aucune erreur ne se produit. Les erreurs entraînent un état de sortie différent de zéro et un message de diagnostic écrit dans l'erreur standard.