Anterior Siguiente Indice

6. ¿ Qué necesitas para configurar NYS ?

6.1 Determinar si eres un Servidor, Esclavo o Cliente.

Para contestar esta cuestión debes considerar dos casos:

En el primer caso tienes dos opciones:

De forma similar al caso del NIS tradicional, si no tienes servidores NIS, entonces también necesitarás un programa servidor NIS (normalmente llamado ypserv) y tendrás que designar una de las máquinas de tu red como servidor NIS maestro. De nuevo, quizás quieras establecer al menos un servidor esclavo junto con el maestro.

6.2 El Software

Necesitas obtener y compilar la librería libnsl.so de servicios NYS. Si no tienes las herramientas DLL instaladas puedes obtener una librería precompilada compartida, estática o en código fuente del mismo servidor mencionado más abajo. Nota, de todos modos, que la versión precompilada puede ser (y probablemente es) más vieja que la última edición del código fuente.

La librería NYS (en versión código fuente y precompilada) puede ser obtenida de:

    Servidor            Directorio                     Nombre fichero

    ftp.lysator.liu.se  /pub/NYS/libs                  nys-0.27.4.tar.gz
    ftp.lysator.liu.se  /pub/NYS/binaries/lib          libnsl.so.1.0.a26
 
    ftp.funet.fi        /pub/OS/Linux/BETA/NYS/libs    nys-0.27.4.tar.gz
    ftp.funet.fi        /pub/OS/Linux/BETA/NYS/lib     libnsl.so.1.0.a26

Versiones precompiladas de los programas "login" y "su" pueden ser obtenidos de:

    Servidor            Directorio                     Nombre fichero

    ftp.lysator.liu.se  /pub/NYS/binaries/bin          login
    ftp.lysator.liu.se  /pub/NYS/binaries/bin          su

    ftp.funet.fi        /pub/OS/Linux/BETA/NYS/bin     login
    ftp.funet.fi        /pub/OS/Linux/BETA/NYS/bin     su

Similarmente, se pueden obtener ejemplos de ficheros de cofiguración de:

    Servidor            Directorio                     Nombre fichero

    ftp.lysator.liu.se  /pub/NYS/binaries/etc          *conf
    ftp.funet.fi        /pub/OS/Linux/BETA/NYS/etc     *conf

Para compilar la librería nsl, sigue las instrucciones que vienen con el software. Si deseas compilar la librería DLL compartida debes tener las herramientas DLL instaladas en su sitio (/usr/dll). Las herramientas DLL (el paquete tools-2.11.tar.gz o posterior) pueden ser obtenidas de los servidores habituales.

6.3 Configurar un Cliente NYS usando NYS

A diferencia del NIS tradicional, no se necesita ninguna configuración para un cliente NYS. Todo lo que se necesita, es que el fichero de configuración NIS (/etc/yp.conf) apunte al servidor correcto para su información. Además, el fichero de configuración del Name Services Switch (/etc/nsswitch.conf) debe estar correctamente configurado.

Por favor, refieráse a los ejemplos proporcionados con el código fuente.

6.4 El Fichero nsswitch.conf

El fichero de Network Services Switch /etc/nsswitch.conf determina el orden de las búsquedas realizadas cuando se pide una pieza específica de información, de la misma forma que el fichero /etc/host.conf determina la manera en que se realizan las búsquedas de hosts. Insistimos, eche un vistazo al fichero proporcionado en la distribución del código fuente. Por ejemplo, la línea

    hosts: files nis dns

especifica que las funciones de búsqueda de host deben primero mirar en el fichero /etc/hosts local, seguido de una búsqueda NIS y, finalmente, usar el DNS (/etc/resolv.conf y named). Si al llegar a este punto no se encuentra el host correspondiente se devuelve un error.

6.5 Haz usar NYS a tus binarios

En vez de reenlazar cada binario con la librería NYS (libnsl.so), se ha conseguido una solución más limpia proporcionando al usuario la posibilidad de compilar una libc que incluya NYS. Esto significa que todo lo que necesitas hacer es recompilar una nueva libc y sustituir la /lib/libc.so.x.y.z existente para que todos los programas (los compilados no-estáticamente) utilicen NYS.

Esta combinación también te da la ventaja sobre la implementación del NIS tradicional en la libc de linux, en que permite soporte transparente para shadow passwords (vía el fichero /etc/nisswitch.conf).

Sigue los sencillos pasos indicados más adelante para recompilar una libc que incluya NYS.

La librería generada tras la compilación se llamará algo así como

    libc.so.4.5.26

y estará bajo el directorio jump/libc-nys. Para instalar esta librería nuestro consejo sería copiarla a /lib con un nombre lexicográficamente superior que el número que actualmente tiene. Simplemente con añadir la letra "a" lo podremos conseguir. Por ejemplo:

    % cp jump/libc-nys/libc.so.4.5.26 /lib/libc.so.4.5.26a

Alternativamente, podríamos añadirle "nys" para poder identificarlo rápidamente. Ahora ejecuta el siguiente comando

    % ldconfig

que reseteará tu caché para usar la nueva librería. La estrategia del enlazador dinámico puede ser examinada con el comando "ldconfig -p".

Básicamente esto es todo. Ahora todos tus programas deben poder utilizar NYS. Por favor, nota que usualmente el programa "login" está compilado estáticamente y que por lo tanto no puede acceder a las nuevas funciones NYS de la nueva libc. Deberás recompilar "login" sin el parámetro -static, o enlazarlo estáticamente a la librería libnsl.a.


Anterior Siguiente Indice