Anterior Siguiente Indice

5. Qué necesitas para configurar NIS ?

5.1 El Mapeador de Puertos RPC

Para ejecutar algún software de los mencionados más adelante necesitarás ejecutar antes el programa /usr/sbin/rpc.portmap. Algunas distribuciones Linux ya tienen código para arrancar éste demonio en /etc/rc.d/rc.inet2. Todo lo que tienes que hacer es "descomentar" ese código y rearrancar tu máquina Linux para activarlo.

El mapeador RPC (portmap(8c)) es un servidor que convierte números de programas RPC en números de puerto de protocolo TCP/IP (o UDP/IP). Debe estar ejecutándose para poder realizar llamadas RPC (que es lo que el software de cliente NIS hace) a servidores RPC (como un servidor NIS) de esa máquina. Cuando un servidor RPC arranca, avisará al mapeador de puertos por cuál puerto está escuchando, y a qué números de programas RPC está preparado para servir. Cuando un cliente desea hacer una llamada RPC a un número de programa dado, primero deberá contactar con el mapeador de puertos de la máquina servidora para determinar el número de puerto al que los paquetes RPC deben ser enviados.

Normalmente los servidores RPC estándar son arrancados por inetd(8c), de modo que el mapeador de puertos debe ser iniciado antes de que inetd sea invocado.

5.2 Determinar si eres Servidor, Esclavo o Cliente.

Para contestar a esta cuestión debes considerar dos casos:

  1. Tu máquina va a ser parte de una red en la que ya existen servidores NIS.
  2. Todavía no tienes servidores NIS en la red.

En el primer caso, sólo necesitas los programas cliente (ypbind, ypwhich, ypcat, yppoll, ypmatch). El programa más importante es ypbind. Este programa debe estar ejecutándose en todos los casos, esto es, debe aparecer siempre en la lista de procesos. Es un proceso de los llamados demonio y necesita ser iniciado desde el fichero de arranque del sistema (ej. /etc/rc.local). Tan pronto como ypbind esté en marcha, tu sistema se convierte en un cliente NIS.

En el segundo caso, si no tienes servidores NIS, entonces también necesitarás un programa servidor NIS (normalmente llamado ypserv). La sección Qué necesitas para configurar NYS ? describe como configurar un servidor NIS en tu maquina Linux usando la implementación del ypserv de Peter Eriksson (<pen@lysator.liu.se>). Nota que ésta implementación NO soporta el concepto maestro-esclavo del que hemos hablado en la sección NIS o NIS+ ?. Usando este software, todos tus servidores NIS serán servidores maestros. Hay otro servidor gratuito disponible, llamado "yps", escrito por Tobias Reber en Alemania que sí soporta el concepto maestro-esclavo, pero que tiene otras limitaciones.

5.3 El Software

La librería del sistema "/usr/lib/libc.a" (version 4.4.2 y superiores) o la librería compartida "/usr/lib/libc.sa" y sus DLL relacionadas contienen todas las llamadas al sistema necesarias para compilar satisfactoriamente el software del cliente y del servidor NIS.

Ha habido informes de gente diciendo que NIS sólo funciona con las versiones 4.5.21 y superiores de "/usr/lib/libc.a" así que si quieres ir a lo seguro, no uses libc's más antiguas. El software de cliente NIS puede obtenerse de:

  Servidor               Directorio                       Nombre de fichero
  
  ftp.uni-paderborn.de   /pcsoft2/linux/local/yp          yp-clients.tar.gz
  ftp.funet.fi           /pub/OS/Linux/BETA/NYS/clients   yp-clients.tar.gz
  ftp.lysator.liu.se     /pub/NYS/clients                 yp-clients.tar.gz
  sunsite.unc.edu        /pub/Linux/system/Network/admin  yp-clients.tar.gz

Una vez hayas obtenido el software, por favor, sigue las instrucciones que vienen con él.

5.4 Configurar un Cliente NIS usando NIS Tradicional

Asumiendo que hayas compilado satisfactoriamente el software, ya estarás preparado para instalarlo. Un lugar idóneo para el demonio ypbind es el directorio /usr/sbin.

Por supuesto, para ello deberás entrar como root. Los otros binarios (ypwhich, ypcat, yppoll, ypmatch) deben ir en un directorio accesible por todos los usuarios, /usr/etc o /usr/local/bin por ejemplo. Sería una buena idea probar el ypbind antes de incorporarlo en /etc/rc.d/rc.inet2.

Para probar el ypbind haz lo siguiente:

Finalmente, no olvides que para búsquedas de nodos debes establecer (o añadir) "nis" a la entrada de orden de búsquedas en tu fichero /etc/host.conf. Por favor, lee la página man "resolv+.8" para más detalles.

En este punto, ya podrías usar programas cliente NIS como ypcat, etc... Por ejemplo, "ypcat passwd" te devolverá la base de datos NIS de los passwords completa.

IMPORTANTE: Si te saltaste el procedimiento de prueba asegúrate de que has establecido el nombre de dominio, y creado el directorio:

    /var/yp

Este directorio DEBE existir para que ypbind pueda iniciarse satisfactoriamente.

Si el test funcionó, puede que ahora quieras cambiar los ficheros /etc/rc.d/rc.M y /etc/rc.d/rc.inet2 en tu sistema para que ypbind se inicie durante el arranque y para que tu sistema actúe como un cliente NIS. Edita el fichero /etc/rc.d/rc.M y busca los comandos que establecen el nombre de dominio. Cambia el nombre de dominio por el nombre de tu dominio. También, edita el fichero /etc/rc.d/rc.inet2, ``descomenta'' las líneas que inician el demonio rpc.portmap, y añade las siguientes líneas justo después del lugar donde se arranca rpc.portmap:

    #
    # Arranca el demonio ypbind:
    #
    if [ -f ${NET}/ypbind -a -d /var/yp ]; then
        echo -n " ypbind"
        ${NET}/ypbind
    fi

Al contrario que con la implementación de Sun del NIS no necesitas editar los ficheros /etc/passwd y /etc/group para poder aprovechar NIS. La implementación de Sun necesita una línea "+:*:0:0:::" en el /etc/passwd y una línea "+:*:0:" en el /etc/group para decirle a NIS que busque en las bases de datos NIS de los passwords y de los grupos.

IMPORTANTE: Nota que el comando finger te informará con mensajes "no such user" si no añades la línea "+:*:0:0:::" en /etc/passwd. Volver a poner la línea "+:*:0:0:::" en /etc/passwd arreglará el finger.

Bueno, esto es todo. Rearranca la máquina y observa los mensajes de arranque para ver si ypbind efectivamente se ha iniciado.

IMPORTANTE: Nota que la característica netgroup está implementada empezando en la libc v4.5.26. Los netgroups permiten control de acceso para cada máquina y para cada usuario en el dominio NIS, y requieren una entrada como ésta:

    +@this_machine_users

en /etc/passwd. Pero si tienes una versión de libc anterior a la 4.5.26, todos los usuarios de la base de datos NIS de passwords pueden acceder a tu máquina Linux si ejecutas "ypbind".


Anterior Siguiente Indice