Capítulo 13. El Sistema de Información de Red (NIS)

Tabla de contenidos
13.1. Familiarizándose con NIS
13.2. NIS Versus NIS+
13.3. La Parte Cliente en NIS
13.4. Ejecutando un Servidor NIS
13.5. Seguridad en el Servidor NIS
13.6. Configurando un Cliente NIS con la libc de GNU
13.7. Escogiendo los Mapas Correctos
13.8. Utilizando los Mapas passwd y group
13.9. Usando NIS con Soporte de Contraseñas Ocultas

Cuando se usa una red de área local, la meta final suele ser proporcionar un entorno que haga la red transparente a los usuarios. Un paso importante es mantener los datos vitales, como la información de las cuentas de usuario, sincronizados a lo largo de todas las máquinas. Esto proporciona a los usuarios la libertad de moverse de máquina en máquina sin el inconveniente de tener que recordar contraseñas diferentes y copiar datos de una máquina a otra. Los datos que están almacenados centralmente no necesitan ser replicados mientras exista un medio de acceder a ellos desde un nodo conectado a la red. Al almacenar centralmente la información administrativa importante, se consigue asegurar la consistencia de esos datos, aumentar la flexibilidad a los usuarios permitiéndoles moverse de nodo a nodo de manera transparente, y hacerle la vida mucho más fácil al administrador, al tener que mantener sólo una copia individual de la información.

Anteriormente hemos discutido un ejemplo importante de este concepto que se utiliza en Internet—el Sistema de Nombres de Dominio (DNS). DNS sirve un rango limitado de información, siendo la más importante la correspondencia entre el nombre de nodo y la dirección IP. Para otros tipos de información, no existe un servicio especializado así. Por otra parte, si usted sólo administra una pequeña LAN sin conectividad a Internet, no parece que merezca la pena configurar DNS.

Ésta es la razón por la que Sun desarrolló el Sistema de Información de Red (NIS). NIS proporciona prestaciones de acceso a bases de datos genéricas que pueden utilizarse para distribuír, por ejemplo, la información contenida en los ficheros passwd y groups a todos los nodos de su red. Esto hace que la red parezca un sistema individual, con las mismas cuentas en todos los nodos. De manera similar, usted puede usar NIS para distribuír la información de nombres de nodo contenida en /etc/hosts a todas las máquinas de la red.

NIS está basado en RPC, y consta de un servidor, una biblioteca de la parte cliente, y varias herramientas de administración. Originalmente NIS se llamaba Páginas Amarillas (Yellow Pages), o YP, que todavía se utiliza para referirse a él. Desafortunadamente, ese nombre es una marca registrada de British Telecom, que exigió a Sun abandonar ese nombre. Al pasar el tiempo, algunos nombres se aferran en la mente de la gente, y así YP permanece como prefijo en los nombres de la mayoría de laso órdenes relacionadas con NIS, como ypserv y ypbind.

Hoy NIS está disponible prácticamente en todos los Unixes, e incluso existen implementaciones libres. BSD Net-2 publicó una que ha sido derivada de una implementación de referencia de dominio público donada por Sun. El código de la biblioteca de la parte cliente de esta versión existe en la libc de Linux desde hace mucho tiempo, y los programas de administración fueron portados a Linux por Swen Thümmler.[1] Sin embargo, falta un servidor NIS a partir de la implementación de referencia.

Peter Eriksson ha desarrollado una implementación nueva llamada NYS.[2] Soporta tanto NIS básico como la versión mejorada de Sun NIS+. NYS no sólo proporciona una serie de herramientas NIS y un servidor, sino que también añade un completo juego nuevo de funciones de biblioteca que necesita compilar en su libc si quiere utilizarlas. Esto incluye un esquema nuevo de configuración para la resolución de nombres de nodo que sustituye al esquema actual que usa el fichero host.conf.

La libc de GNU, conocida como libc6 en la comunidad Linux, incluye una versión actualizada del soporte de NIS tradicional desarrollado por Thorsten Kukuk.[3] Soporta todas las funciones de biblioteca que proporcionaba NYS, y también utiliza el esquema avanzado de configuración de NYS. Todavía se necesitan las herramientas y el servidor, pero utilizando la libc de GNU se ahorra el trabajo de tener que parchear y recompilar la biblioteca.

Este capítulo se centra en el soporte de NIS incluído en la libc de GNU en vez de en los otros dos paquetes. Si usted quiere utilizar alguno de éstos, las instrucciones de este capítulo pueden o no ser suficientes. Si quiere información adicional, remítase al NIS-Como o a un libro como el Managing NFS and NIS de Hal Stern (O'Reilly).

Notas

[1]

Se puede contactar con Swen en swen@uni-paderborn.de. Los clientes NIS están disponibles como yp-linux.tar.gz en metalab.unc.edu dentro de system/Network.

[2]

Se puede contactar con Peter en pen@lysator.liu.se. La versión actual de NYS es la 1.2.8.

[3]

Se puede contactar con Thorsten en kukuk@uni-paderborn.de.