L'attribut serviceSearchDescriptor définit où et comment un client de service de noms LDAP doit rechercher des informations pour un service particulier. servicesearchdescriptor contient le nom d'un service, suivi d'un ou plusieurs triples base-étendue-filtre séparés par des points-virgules. Ces triples sont utilisés pour définir des recherches uniquement pour le service spécifié et sont recherchés dans l'ordre. Si plusieurs filtres basés sur l'étendue sont spécifiés pour un service donné, lorsque ce service recherche une entrée particulière, il recherche dans chaque base ayant l'étendue et le filtre spécifiés.
Dans l'exemple suivant, le client du service de noms LDAP effectue une recherche à un niveau dans ou=west,dc=example,dc=com suivie d'une recherche à un niveau dans ou=east,dc=example,dc=com pour le service passwd. Pour rechercher les données passwd d'un utilisateur username, le filtre LDAP par défaut (&(objectClass=posixAccount)(uid=username)) est appliqué pour chaque BaseDN.
serviceSearchDescriptor: passwd:ou=west,dc=example,dc=com;ou=east, dc=example,dc=com
Dans l'exemple suivant, le client du service de noms LDAP doit effectuer une recherche de sous-arborescence dans ou=west,dc=example,dc=com pour le service passwd. Pour rechercher les données passwd pour l'utilisateur username, la recherche dans la sous-arborescence ou=west,dc=example,dc=com s'effectuera à l'aide du filtre LDAP (&(fulltimeEmployee=TRUE)(uid=username)).
serviceSearchDescriptor: passwd:ou=west,dc=example, dc=com?sub?fulltimeEmployee=TRUE
Vous pouvez également associer plusieurs conteneurs à un type de service spécifique. Dans l'exemple ci-après, le descripteur de recherche de service indique la recherche d'entrées de mot de passe dans trois conteneurs.
|
Notez qu'une virgule (,) en fin de ligne dans l'exemple implique que la base defaultSearchBase est ajoutée à la base relative dans le SSD.
defaultSearchBase: dc=example,dc=com serviceSearchDescriptor: \ passwd:ou=myuser,;ou=newuser,;ou=extuser,dc=example,dc=com
Le service de noms LDAP autorise le remappage d'un ou de plusieurs noms d'attributs pour n'importe lequel de ses services Si vous mappez un attribut, vous devez vous assurer que l'attribut a la même signification et la même syntaxe que l'attribut d'origine. Notez que le mappage de l'attribut userPassword peut causer des problèmes.
Il peut s'avérer utile d'utiliser des mappages de schéma dans les situations où vous souhaitez mapper des attributs dans un serveur d'annuaire existant. Si vous avez des noms d'utilisateur dont seule la casse diffère, vous devez mapper l'attribut uid, qui ignore la casse, sur un attribut qui n'ignore pas la casse.
Le format de cet attribut est service:attribute-name=mapped-attribute-name.
Si vous souhaitez mapper plusieurs attributs pour un service donné, vous pouvez définir plusieurs attributs attributeMap.
Dans l'exemple suivant, les attributs employeeName et home seront utilisés à chaque fois que les attributs uid et homeDirectory sont utilisés pour le service passwd.
attributeMap: passwd:uid=employeeName attributeMap: passwd:homeDirectory=home
Notez que vous pouvez mapper l'attribut passwd du service gecos avec plusieurs attributs, comme illustré dans l'exemple suivant :
attributeMap: gecos=cn sn title
Dans cet exemple les valeurs gecos sont mappées avec une liste des valeurs d'attributs cn, sn et title séparées par des espaces.
Le service de noms LDAP permet aux classes d'objet d'être remappées pour l'un de ses services. Si vous souhaitez mapper plusieurs classes d'objet pour un service donné, vous pouvez définir plusieurs attributs objectclassMap. Dans l'exemple suivant, la classe d'objet myUnixAccount est utilisée à chaque fois que la classe d'objet posixAccount est utilisée :
objectclassMap: passwd:posixAccount=myUnixAccount