Habiéndose asegurado de que puede acceder al servidor NIS, debe decidir qué
ficheros de configuración reemplazar o aumentar con los mapas NIS. Normalmente
querrá usar mapas NIS para las funciones de búsqueda de nodo y de contraseña. La
primera es especialmente útil si carece de servicio BIND. La búsqueda de
contraseña permite a todos los usuarios ingresar en sus cuentas desde cualquier
sistema del dominio NIS; normalmente esto implica compartir un directorio
/home central entre todos los nodos vía NFS. El mapa de
contraseñas se explica con detalle en la siguiente sección.
Otros mapas, como el services.byname, no proporcionan
ganancias tan dramáticas, pero sí le ahorran algo de trabajo de edición. El mapa
services.byname cobra valor si instala alguna aplicación de
red que utilice un servicio que no esté en el fichero estándar
services.
Generalmente querrá tener donde elegir cuando una función de búsqueda utilice
los ficheros locales, cuando consulte a un servidor NIS y cuando utilice otros
servidores como el DNS. La libc de GNU le permite configurar el orden en el que
una función accede a estos servicios. Esto se controla a través del fichero
/etc/nsswitch.conf, que quiere decir Conmutador de
Servicio de Nombres (Name Service Switch), aunque por supuesto no
está limitado al servicio de nombres. El fichero contiene una línea nombrando el
servicio a usar para cada una de las funciones de búsqueda de datos soportadas
por la libc de GNU.
El orden correcto de los servicios depende del tipo de datos que ofrece cada
servicio. No es probable que el mapa services.byname
contenga entradas diferentes a las del fichero local
services; sólo contendrá entradas adicionales. Por tanto,
parece razonable consultar primero a los ficheros locales y usar NIS sólo si el
nombre del servicio no se encuentra. Por otra parte, la información del nombre
de nodo puede cambiar frecuentemente, por lo que el servidor DNS o NIS siempre
debe tener la información más precisa posible, mientras que el fichero local
hosts sólo se conserva como copia de seguridad por si DNS o
NIS fallan. Por tanto, para los nombres de nodo, normalmente querrá que el
fichero local se lea en último lugar.
El siguiente ejemplo muestra cómo forzar a gethostbyname y
gethostbyaddr que busquen en NIS y DNS antes de buscar en
el fichero hosts, y cómo hacer que la función
getservbyname busque en los ficheros locales antes de
consultar a NIS. Estas funciones de resolución probarán con cada uno de los
servicios listados en orden; si una búsqueda tiene éxito, se devuelve el
resultado; si no, probarán con el siguiente servicio de la lista. La
configuración para estas prioridades es:
# pequeño ejemplo de /etc/nsswitch.conf
#
hosts: nis dns files
services: files nis |
Lo siguiente es una lista completa de los servicios y lugares que pueden
utilizarse en una entrada del fichero nsswitch.conf. Los
verdaderos mapas, ficheros, servidores y objetos consultados dependen del nombre
de la entrada. Lo siguiente puede aparecer a la derecha de los dos puntos:
Actualmente, el soporte de NIS de la libc de GNU proporciona las siguientes
bases de datos de nsswitch.conf:
aliases,
ethers.group,
hosts,
netgroup,
network,
passwd,
protocols,
publickey,
rpc,
services, y
shadow.
Es probable que se añandan más entradas.
El Ejemplo 13-2 muestra un ejemplo más completo que
introduce otra característica del fichero nsswitch.conf.
La palabra clave
[NOTFOUND=return] especificada en la
entrada hosts le dice al cliente NIS que
devuelva si el elemento deseado no pudo encontrarse en la base de datos de NIS o
DNS. Esto es, el cliente NIS continuará buscando en los ficheros locales
sólo si las llamadas a los servidores NIS y DNS fallan por
alguna razón. Por tanto, cuando el servidor NIS no responda se utilizarán los
ficheros locales sólo en tiempo de ejecución y como copia de seguridad.
La libc de GNU proporciona otras acciones descritas en la página del manual
nsswitch.