Articulo de referencia

Conmutador de servicio de nombres

El Name Service Switch ( NSS ) es una característica que se encuentra en la biblioteca C estándar de varios sistemas operativos tipo Unix que conecta una computadora con una var...

El Name Service Switch ( NSS ) es una característica que se encuentra en la biblioteca C estándar de varios sistemas operativos tipo Unix que conecta una computadora con una variedad de fuentes de bases de datos de configuración comunes y mecanismos de resolución de nombres. [ 1 ] Estas fuentes incluyen archivos locales del sistema operativo (como /etc/passwd , /etc/group y /etc/hosts ), el Domain Name System (DNS), el Network Information Service (NIS, NIS+) y LDAP .

nsswitch.conf

Un administrador de sistemas suele configurar los servicios de nombres del sistema operativo mediante el archivo /etc/nsswitch.conf . Este archivo enumera las bases de datos (como passwd , shadow y group ) y una o más fuentes para obtener dicha información. Algunos ejemplos de fuentes son files para archivos locales, ldap para el Protocolo ligero de acceso a directorios , nis para el Servicio de información de red , nisplus para NIS+ , dns para el Sistema de nombres de dominio (DNS) y wins para el Servicio de nombres de Internet de Windows .

El archivo nsswitch.conf contiene entradas de línea para cada servicio, que consisten en un nombre de base de datos en el primer campo, terminado por dos puntos, y una lista de posibles bases de datos de origen en el segundo campo.

Un archivo típico podría tener este aspecto:

contraseña: archivos ldap sombra: archivos grupo: archivos ldap hosts: archivos dns nis éteres: archivos nis máscaras de red: archivos nis redes: archivos nis protocolos: archivos nis rpc: archivos nis servicios: archivos nis automontaje: archivos alias: archivos 

El orden de las bases de datos de origen determina el orden en que el NSS intentará consultar dichas fuentes para resolver las consultas del servicio especificado. Se puede especificar una lista de criterios entre corchetes después de cada nombre de fuente para definir las condiciones bajo las cuales el NSS procederá a consultar la siguiente fuente en función de la respuesta de la fuente anterior.

Historia

Los sistemas tipo Unix anteriores solo accedían a archivos locales o tenían reglas codificadas para acceder a archivos o bases de datos almacenadas en red. Ultrix fue una excepción notable con su funcionalidad casi idéntica a la del archivo de configuración NSS en /etc/svc.conf .

Sun Microsystems desarrolló inicialmente el NSS para su sistema operativo Solaris .

La compatibilidad de Solaris con SVR4, desarrollado conjuntamente por Sun Microsystems y AT&T Unix System Laboratories mediante la fusión de UNIX System V , BSD y Xenix , requería que terceros pudieran integrar implementaciones de servicio de nombres para la capa de transporte de su elección ( OSI o IP ) sin necesidad de reescribir aplicaciones RPC independientes del transporte ( TI-RPC ) compatibles con SVR4 ni recompilar el sistema operativo. Sun introdujo el servicio de directorio NIS+ en Solaris para reemplazar a NIS , lo que exigía la coexistencia de ambos servicios de directorio dentro de una empresa para facilitar la migración.

Los ingenieros de Sun, Thomas Maslen y Sanjay Dani, fueron los primeros en diseñar e implementar el Name Service Switch. Cumplieron con los requisitos de Solaris mediante la especificación del archivo nsswitch.conf y la opción de implementación de cargar los módulos de acceso a la base de datos como bibliotecas de carga dinámica , una práctica que Sun también fue pionera en introducir.

El diseño original del archivo de configuración y la carga en tiempo de ejecución de las bibliotecas de back-end del servicio de nombres, obra de los ingenieros de Sun, ha resistido el paso del tiempo a medida que los sistemas operativos han evolucionado y se han introducido nuevos servicios de nombres. A lo largo de los años, los programadores han adaptado el archivo de configuración de NSS, con implementaciones casi idénticas, a muchos otros sistemas operativos, incluidos FreeBSD , NetBSD , Linux , HP-UX , IRIX y AIX . Más de dos décadas después de la invención de NSS, GNU libc lo implementa de forma prácticamente idéntica.

Véase también

Referencias

  1. "Name Service Switch (The GNU C Library)" . www.gnu.org . Consultado el 13 de marzo de 2024 .
  • nsswitch.conf(5)Archivo de configuración del conmutador de servicio de nombres Manual de formatos de archivo de NetBSD   
  • Implementación del conmutador de servicio de nombres en la biblioteca C de GNU
  • Otro módulo NSS compatible con LDAP : nss-ldapd
  • Módulo NSS compatible con AFS : nss_afs