El conmutador de servicio de nombres ( NSS ) conecta la computadora con una variedad de fuentes de bases de datos de configuración comunes y mecanismos de resolución de nombres. Estas fuentes incluyen archivos del sistema operativo local (como / etc / passwd , / etc / group y / etc / hosts ), el sistema de nombres de dominio (DNS), el servicio de información de red (NIS, NIS +) y LDAP .
Este mecanismo de sistema operativo , utilizado en miles de millones de computadoras , incluidos todos los sistemas operativos similares a Unix, es indispensable para funcionar como parte de la organización en red e Internet . Entre otras cosas, se invoca cada vez que un usuario de computadora hace clic o escribe una dirección de sitio web en el navegador web o responde al desafío de contraseña para tener acceso autorizado a la computadora e Internet.
nsswitch.conf
Un administrador del sistema generalmente configura los servicios de nombres del sistema operativo usando el archivo /etc/nsswitch.conf . Este archivo enumera bases de datos (como passwd , shadow y group ) y una o más fuentes para obtener esa información. Ejemplos de fuentes son archivos 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 tiene 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 verse así:
passwd: archivos ldapsombra: archivosgrupo: archivos ldaphosts: archivos dns niséteres: archivos nisnetmasks: archivos nisredes: archivos nisprotocolos: archivos nisrpc: archivos nisservicios: archivos nisautomount: archivosalias: archivos
El orden de las bases de datos de origen determina el orden en que el NSS intentará buscar esas fuentes para resolver consultas para el servicio especificado. Se puede especificar una lista de criterios entre corchetes después de cada nombre de fuente para regir las condiciones bajo las cuales el SNA procederá a consultar la siguiente fuente en función de la respuesta de la fuente anterior.
Historia
Los sistemas anteriores similares a Unix solo accedían a archivos locales o tenían reglas codificadas para acceder a archivos o bases de datos almacenadas en la red. Ultrix fue una excepción notable con su funcionalidad casi idéntica del archivo de configuración NSS en /etc/svc.conf .
Sun Microsystems desarrolló por primera vez el NSS para su sistema operativo Solaris .
El cumplimiento de Solaris con SVR4, que Sun Microsystems y AT&T Unix System Laboratories desarrollaron conjuntamente mediante la fusión de UNIX System V , BSD y Xenix , requería que terceros pudieran conectar implementaciones de servicios de nombres para la capa de transporte de su elección ( OSI o IP ). sin reescribir aplicaciones RPC independientes del transporte ( TI-RPC ) compatibles con SVR4 ni reconstruir el sistema operativo. Sun introdujo el servicio de directorio NIS + en Solaris para reemplazar a NIS , que requería la coexistencia de los dos 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 interruptor de servicio de nombres. Cumplieron los requisitos de Solaris con la especificación del archivo nsswitch.conf y la opción de implementación para cargar módulos de acceso a la base de datos como bibliotecas cargadas dinámicamente , que Sun también fue el primero en introducir.
El diseño original de los ingenieros de Sun del archivo de configuración y la carga en tiempo de ejecución de las bibliotecas back-end del servicio de nombres ha resistido la prueba 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 portaron el archivo de configuración 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 del NSS, GNU libc lo implementa de manera casi idéntica. NSS también se incluye en el núcleo UNIX mínimo de cada contenedor Docker .
Ver también
- Autenticación BSD
- Grupo (base de datos)
- Nombre del servidor
- Módulos de autenticación conectables
enlaces externos
- : archivo de configuración del conmutador de servicio de nombres - Manual de formatos de archivo NetBSD
- Implementación de cambio de servicio de nombres en la biblioteca GNU C
- Módulo NSS compatible con LDAP : nss_ldap
- Otro módulo NSS compatible con LDAP : nss-ldapd
- Módulo NSS compatible con AFS : nss_afs