Name Service Switch
# Name Service Switch

El Name Service Switch o NSS provee una interfaz para configurar y acceder a diferentes bases de datos de cuentas de usuarios y claves como /etc/passwd, /etc/group, /etc/hosts, LDAP, etc.

## nsswitch.conf

Un sistema configurado por defecto generalmente usa NSS y su archivo de configuración /etc/nsswitch.conf para resolver nombres de usuario o grupo, este archivo se compone de llamadas a bases de datos como passwd, shadow y group, y de otras fuentes como archivos locales, directorios de datos OpenLDAP, nis (Network Information Service), nisplus (NIS+), bases de datos PostgreSQL o MySQL.

En el mismo orden en que son listadas serán utilizadas al momento de resolver las peticiones.

## NSS y Biblioteca estándar C

NSS es la implementación de una Biblioteca estándar de C que llama a las funciones getpwent o getgrent dependiendo del módulo NSS, existen módulos LDAP, PostgreSQL, MySQL o MDNS.

## Historia

Sun Microsystems fue el primer desarrollador de NSS para el sistema operativo Solaris, posteriormente programadores lo portaron a otros sistemas operativos como GNU/Linux, FreeBSD, NetBSD, HP-UX, IRIX y AIX. La implementación del proyecto GNU del sistema NSS, toma la idea inicial de Sun Microsystems y la reimplementación no toma ninguna línea de código de Sun Microsystems.

