Trabajo con servicios de nombres y de directorio en Oracle® Solaris 11.2: LDAP

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Ejemplos de asignaciones personalizadas

En los ejemplos de esta sección, se muestra cómo se pueden personalizar los mapas. Utilice su editor de texto preferido para modificar el archivo /var/yp/NISLDAPmapping según sea necesario. Para obtener más información sobre los atributos de archivos y su sintaxis, consulte la página del comando man NISLDAPmapping(4) y la información de servicios de nombres LDAP en el Chapter 1, Introducción al servicio de nombres LDAP.

Ejemplo 8-1  Traspaso de entradas de host

En este ejemplo, se muestra cómo mover entradas de host de la ubicación predeterminada a otra ubicación (no estándar) en el DIT.

Cambie el atributo nisLDAPobjectDN en el archivo NISLDAPmapping para el nuevo nombre distintivo (DN) de la base de LDAP. En este ejemplo, la estructura interna de los objetos LDAP no cambia, por lo que las entradas objectClass no cambian.

Cambie:

nisLDAPobjectDN hosts: \
ou=hosts,?one?, \
objectClass=device, \
objectClass=ipHost

a:

nisLDAPobjectDN hosts: \
ou=newHosts,?one?, \
objectClass=device, \
objectClass=ipHost

Este cambio produce que las entradas se asignen en

   dn: ou=newHosts, dom=domain1, dc=sun, dc=com

en lugar de asignarse en

   dn: ou=hosts, dom=domain1, dc=sun, dc=com.

Ejemplo 8-2  Implementación de un mapa personalizado

En este ejemplo, se muestra cómo implementar una asignación personalizada.

Una asignación hipotética, servdate.bynumber, contiene información sobre las fechas de servicio para los sistemas. Este mapa está indexado por el número de serie de la máquina que, en este ejemplo, es 123. Cada entrada consiste en el nombre del propietario del equipo, dos puntos y una lista separada por comas de fechas de servicio, como John Smith:1/3/2001,4/5/2003.

La estructura antigua asignación se debe asignar a las entradas de LDAP de la siguiente manera:

dn: number=123,ou=servdates,dc=... \
number: 123 \
userName: John Smith \
date: 1/3/2001 \
date: 4/5/2003 \
.
.
.
objectClass: servDates

Al examinar el archivo NISLDAPmapping, puede ver que la asignación más cercana al patrón requerido es group. La asignaciones personalizadas se pueden modelar en la asignación group. Debido a que hay sólo un mapa, no es necesario el atributo nisLDAPdatabaseIdMapping. Los atributos que se van a agregar a NISLDAPmapping son los siguientes:

nisLDAPentryTtl servdate.bynumber:1800:5400:3600

nisLDAPnameFields servdate.bynumber: \
("%s:%s", uname, dates)

nisLDAPobjectDN servdate.bynumber: \
ou=servdates, ?one? \
objectClass=servDates:

nisLDAPattributeFromField servdate.bynumber: \
dn=("number=%s,", rf_key), \
number=rf_key, \
userName=uname, \
(date)=(dates, ",")

nisLDAPfieldFromAttribute servdate.bynumber: \
rf_key=number, \
uname=userName, \
dates=("%s,", (date), ",")