NIS(YP)/NIS+/NYS COMO
Andrea Dell'Amico, Mitchum DSouza, Erwin Embsen, Peter
Eriksson
l0.5, 24 de Enero de 1995 18 de Julio de 1996
Configuraci�n y detalles de NIS(YP), NIS+ y NYS (Yellow Pages), sis�
temas de autentificaci�n distribu�da.
______________________________________________________________________
�ndice General:
1. Glosario
1.1. Algo de Informaci�n General
2. Introducci�n
2.1. Nuevas Versiones de Este Documento (En ingl�s)
2.2. Nota de Renuncia
2.3. FeedBack
2.4. Agradecimientos
3. � NIS o NIS+ ?
3.1. � NIS tradicional o la librer�a NYS ?
4. C�mo trabaja
5. � Qu� necesitas para configurar NIS ?
5.1. El Mapeador de Puertos RPC
5.2. Determinar si eres Servidor, Esclavo o Cliente.
5.3. El Software
5.4. Configurar un Cliente NIS usando NIS Tradicional
6. � Qu� necesitas para configurar NYS ?
6.1. Determinar si eres un Servidor, Esclavo o Cliente.
6.2. El Software
6.3. Configurar un Cliente NYS usando NYS
6.4. El Fichero nsswitch.conf
6.5. Haz usar NYS a tus binarios
7. Configurar un Servidor NIS
7.1. El Programa Servidor ypserv
7.2. El Programa yppasswdd
8. Verificar la Instalaci�n NIS/NYS
9. Problemas Comunes y soluciones con NIS
10. Preguntas Realizadas Frecuentemente
11. Anexo: El INSFLUG
______________________________________________________________________
1. Glosario
En este documento se han usado muchos acr�nimos. Aqu� se listan los
m�s importantes junto a una breve explicaci�n:
DBM
DataBase Management, una librer�a de funciones que mantiene
pares clave-contenido en una base de datos.
DLL
Dynamically Linked Library, una librer�a enlazada a un programa
ejecutable en tiempo de ejecuci�n.
domainname
Un nombre "clave" que es usado por clientes NIS para ser capaces
de localizar un servidor NIS adecuado que sirve a esa clave
domainname. Notar que esto no tiene nada que ver necesariamente
con el "dominio" (nombre de m�quina) DNS de la(s) m�quina(s).
FTP
File Transfer Protocol, un protocolo usado para transferir
ficheros entre dos ordenadores.
libnsl
Name services library, una librer�a de llamadas a servicios de
nombres (getpwnam, getservbyname, etc...) en Unixes SVR4.
libsocket
Socket services library, una librer�a para llamadas a servicios
de sockets (socket, bind, listen, etc...) en Unixes SVR4.
NIS
Network Information Service, un servicio que proporciona
informaci�n, que tiene que ser conocida por toda la red, a todas
las m�quinas de la red. Hay soporte para NIS en la librer�a
est�ndar de Linux libc, y a la que en el texto nos referiremos
como "NIS tradicional".
NIS+
Network Information Service (Plus :-), es esencialmente un NIS
con ``esteroides''. NIS+ fue dise�ado por Sun Microsystems Inc.
como un sustituto de NIS, con una mejor seguridad y un mejor
manejo de _grandes_ instalaciones.
NYS
Este es el nombre de un proyecto que viene de NIS+,YP y Switch y
que est� organizado por Peter Eriksson <
[email protected]>.
Contiene, entre otras cosas, una completa reimplementaci�n del
c�digo del NIS (=YP) usando la funcionalidad del Name Services
Switch de la librer�a NYS.
RPC
Remote Procedure Call. Las rutinas RPC permiten a los programas
en C realizar llamadas a procedimientos en otras m�quinas a
trav�s de la red. Cuando la gente habla de RPC, normalmente se
refiere a la variante SunRPC.
YP Yellow Pages(tm), P�ginas Amarillas en Ingl�s, es una marca
registrada en el Reino Unido por la British Telecom plc. (la
telef�nica inglesa, vamos).
TCP-IP
Transmission Control Protocol/Internet Protocol. Es un protocolo
de comunicaci�n de datos usado a menudo en m�quinas Unix.
1.1. Algo de Informaci�n General
Las siguientes l�neas est�n sacadas del Sun(tm) System & Network
Administration Manual:
"NIS se llamaba en un principio Sun Yellow Pages (YP)
pero el nombre Yellow Pages(tm) es una marca registrada
en el Reino Unido por la British Telecom plc y no
puede ser usado sin permiso."
NIS viene de Network Information Service. Su prop�sito es proveer
informaci�n, que tiene que ser conocida a lo largo de la red, a todas
las m�quinas de la red. La informaci�n m�s indicada para ser
distribuida por NIS es:
� nombres de login/passwords/directorios home (/etc/passwd)
� informaci�n de grupos (/etc/group)
As� que, por ejemplo, si la entrada de tu password est� grabada en la
base de datos passwd de NIS, ser�s capaz de entrar en todas las
m�quinas de la red que tengan corriendo los programas clientes NIS.
Sun es una marca registrada de Sun Microsystems, Inc. licenciada a
SunSoft, Inc.
2. Introducci�n
Cada vez m�s y m�s m�quinas Linux est�n siendo instaladas como parte
de una red de computadoras. Para simplificar la administraci�n de la
red, la mayor parte de las redes (sobre todo, redes basadas en
m�quinas Sun) ejecutan el Network Information Service. Las m�quinas
Linux pueden sacar gran partido a los servicios NIS existentes o
proveer servicio NIS por s� mismas. Pueden incluso (con la librer�a
NYS) actuar como un cliente NIS+ limitado.
Este documento intenta responder cuestiones sobre la configuraci�n de
NIS(YP) en tu m�quina Linux. No habla sobre c�mo configurar NIS+. No
olvides leer la secci�n ``''
2.1. Nuevas Versiones de Este Documento (En ingl�s)
Nuevas versiones de este documento ser�n enviadas peri�dicamente
(aproximadamente, cada mes) a los newsgroups comp.os.linux.announce y
comp.os.linux.misc. Este documento se encuentra archivado en varios
FTP sites, incluyendo sunsite.unc.edu en el directorio
/pub/Linux/docs/HOWTO.
2.2. Nota de Renuncia
Aunque este documento ha sido recogido con lo mejor de nuestros
conocimientos, puede contener, y probablemente contendr�, errores. Por
favor, l�ete todos los ficheros README adjuntos a cualquiera de los
varios paquetes de software descritos en este documento para obtener
una informaci�n m�s detallada y precisa. Nosotros intentaremos
mantener este documento tan libre de errores como sea posible.
2.3. FeedBack
Si tienes alg�n comentario, preguntas o sugerencias, por favor,
envi�melas por e-mail a Erwin Embsen <
[email protected]>. Y si encuentras
errores u omisiones obvias, definitivamente debes contactar con �l (--
Aunque me temo que no sabe castellano, as� que cu�ntale lo que sea en
ingl�s...--) .
2.4. Agradecimientos
Nos gustar�a agradecer a toda la gente que ha contribuido (directa o
indirectamente) a la realizaci�n de este documento. En orden
alfab�tico:
Andrea Dell'Amico <
[email protected]>
Mitchum DSouza <
[email protected]>
Erwin Embsen <
[email protected]>
Byron A Jeff <
[email protected]>
Peter Eriksson <
[email protected]>
Theo de Raadt <
[email protected]> es responsable del c�digo original de
los yp-clients. Swen Thuemmler <
[email protected]> port� el c�digo
de los yp-clients y de las yp-routines en la libc (de nuevo, bas�ndose
en el trabajo de Theo).
3. � NIS o NIS+ ?
La elecci�n entre NIS y NIS+ es f�cil - usa NIS si no tienes que usar
NIS+ o si no tienes severas necesidades de seguridad. NIS+ es mucho
m�s problem�tico de administrar (es bastante f�cil de manejar la parte
del cliente, pero la parte del servidor es horrible). Otro problema es
que el soporte para NIS+ bajo Linux est� todav�a en desarrollo --una
cosa importante de la que todav�a carece es del soporte para
encriptaci�n y autentificaci�n de datos que es _la_ principal raz�n
por la que alguien querr�a usar NIS+...--
3.1. � NIS tradicional o la librer�a NYS ?
La elecci�n entre el NIS tradicional o el c�digo NIS de la librer�a
NYS es una elecci�n entre vagancia y madurez vs. flexibilidad y deseos
de aventura.
El c�digo "NIS tradicional" est� en la librer�a C est�ndar y ha estado
ah� fuera por mucho tiempo, sufriendo a veces de su edad y de un poco
de inflexibilidad.
El c�digo NIS de la librer�a NYS, por otro lado, requiere, una de dos,
o que recompiles y re-enlaces todos tus programas a la librer�a
libnsl, o que recompiles la librer�a libc para que incluya el c�digo
libnsl (o tal vez puedas ir y obtener una versi�n precompilada de
alguien que ya lo haya hecho).
Otra diferencia es que el c�digo tradicional NIS tiene alg�n soporte
para Netgroups NIS, cosa que el c�digo NYS no tiene (todav�a). Por
otro lado, el c�digo NYS te permite manejar Shadow Passwords de una
forma transparente.
4. C�mo trabaja
En una red debe haber al menos una m�quina actuando como un servidor
NIS. Puedes tener m�ltiples servidores NIS, cada uno sirviendo a
diferentes "dominios" NIS - o puedes tener servidores NIS
cooperativos, donde uno es el llamado servidor NIS maestro, y todos
los dem�s son los llamados servidores NIS esclavos (�para un "dominio"
NIS determinado, eso es!) - o puedes tener una mezcla de ellos...
Los servidores esclavos solo tienen copias de las bases de datos NIS y
reciben estas copias del servidor NIS maestro cada vez que se realizan
cambios a las bases de datos maestras. Dependiendo del n�mero de
m�quinas que haya en tu red y de la seriedad de tu red, podr�as
decidir si instalar uno o m�s servidores esclavos. Cada vez que un
servidor NIS se cae o va muy lento respondiendo peticiones, un cliente
NIS conectado a ese servidor intentar� encontrar otro que no est�
ca�do o que vaya m�s r�pido.
Las bases de datos NIS est�n en el formato DBM, que deriva de las
bases de datos ASCII. Por ejemplo, los ficheros /etc/passwd y
/etc/group pueden ser directamente convertidos a formato DBM usando
software de translaci�n ASCII <--> DBM ("dbload", inclu�do con el
software del servidor). El servidor NIS maestro deber�a tener ambas,
las bases de datos ASCII y las DBM.
Los servidores esclavos ser�n notificados de cualquier cambio en los
mapas NIS, (v�a el programa "yppush"), y recibir�n autom�ticamente los
cambios necesarios para sincronizar sus bases de datos. Los clientes
NIS no necesitan hacer esto ya que �stos siempre hablan directamente
con el servidor NIS para leer la informaci�n almacenada en sus bases
de datos DBM.
El autor de los clientes YP para Linux nos ha informado de que el
ypbind m�s reciente (del paquete yp-clients.tar.gz) es capaz de
obtener el servidor a partir de un fichero de configuraci�n --lo que
quiere decir que no es necesario un broadcast (lo cual es inseguro,
debido al hecho de que cualquiera podr�a instalar un servidor NIS y
contestar a las peticiones de broadcast...).--
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 (<
[email protected]>).
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:
� Aseg�rate de que tienes establecido ya tu nombre de dominio. Si no
lo tienes ejecuta el comando:
/bin/domainname-yp nis.domain
donde nis.domain debe ser alguna cadena de caracteres, que normalmente
�_NO_ debe estar relacionada con el nombre de dominio de tu m�quina!
La raz�n para esto es que hace un poco m�s dif�cil a crackers externos
el obtener la base de datos de passwords de tus servidores NIS. Si no
sabes cu�l es el nombre de dominio NIS de tu red, pregunta al admin�
istrador de tu sistema/red.
� Arrancar "/usr/sbin/rpc.portmap" si no est� ya ejecut�ndose.
� Crear el directorio "/var/yp" si no existe.
� Iniciar "/usr/sbin/ypbind"
� Usar el comando "rpcinfo -p localhost" para comprobar si ypbind es
capaz de registrar su servicio con el mapeador de puertos. El
rpcinfo deber�a producir una salida parecida a:
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
300019 1 udp 660
� Podr�as tambi�n ejecutar "rpcinfo -u localhost ypbind". Este
comando deber�a producir una salida similar a:
program 100007 version 2 ready and waiting
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".
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:
� Tu m�quina va a ser parte de una red en la que ya existen
servidores NIS.
� Todav�a no tienes servidores NIS en la red.
En el primer caso tienes dos opciones:
� O reenlazas todos los programas cliente y demonio con la librer�a
NYS libnsl.so (o las enlazas est�ticamente con libnsl.a). Esto
supone a�adir la l�nea:
LIBS=-lnsl
a tu Makefile, que indica que quieres enlazar la Network Services
Library. B�sicamente, todos los demonios de red y el programa "login"
necesitan ser recompilados.
� O puedes recompilar la librer�a C est�ndar libc para que incluya
las funciones de librer�a de los clientes NYS, y despu�s reenlazar
todos los programas enlazados est�ticamente (los programas
enlazados din�micamente tienen la nueva versi�n de libc
autom�ticamente). Para m�s informaci�n sobre �sta opci�n, mira la
secci�n``Haz usar NYS a tus binarios'' m�s abajo.
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.
� Aseg�rate de que tienes las �ltimas herramientas DLL instaladas.
Para m�s informaci�n acerca de d�nde conseguirlas l�ete el GCC-FAQ.
� Consigue los �ltimos fuentes de la libc. (de nuevo, mira el GCC-
FAQ)
� Consigue los �ltimos fuentes del nys de:
ftp.lysator.liu.se:/pub/NYS/libs
y descompr�melos en el directorio de la libc-linux fuente. Actual�
mente la distribuci�n es la "nys-0.27.4.tar.gz".
� Ejecuta el ./configure y contesta "n" a la pregunta
Values correct (y/n) [y] ?
Luego sigue con las siguientes cuestiones y la �ltima pregunta ahora
ser�
Build a NYS libc from nys-0.27 (y default) ?
contesta "y" a �sta.
� Luego ejecuta el comando
% make
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.
7. Configurar un Servidor NIS
7.1. El Programa Servidor ypserv
Este documento s�lo describe c�mo configurar el servidor NIS "ypserv".
La configuraci�n del servidor "yps" es similar _pero_ no exactamente
igual as� que �ten esto en cuenta si intentas aplicar estas
instrucciones a "yps"!
El software del Servidor NIS puede ser encontrado en:
Servidor Directorio Nombre fichero
ftp.lysator.liu.se /pub/NYS/servers ypserv-0.11.tar.gz
ftp.funet.fi /pub/OS/Linux/BETA/NYS/servers ypserv-0.11.tar.gz
mcsun.eu.net /os/linux/BETA/NYS/servers ypserv-0.11.tar.gz
ftp.univie.ac.at /unix/system/linux/funet/BETA/NYS/servers
ypserv-0.11.tar.gz
El setup del servidor es el mismo para NIS tradicional y para NYS.
Compila el software para generar los programas "ypserv", "dbcat" y
"dbload". Primeramente debes determinar qu� ficheros necesitas que
est�n disponibles via NIS y despu�s a�ade o elimina las entradas
apropiadas de ypMakefile. Luego instala el fichero ypMakefile en
/var/yp con el nombre Makefile.
Y ahora crea los ficheros DLL escribiendo:
% cd /var/yp; make
Cerci�rate de que el mapeador de puertos (rpc.portmap) est� en marcha,
y arranca el servidor "ypserv". El comando
% rpcinfo -u localhost ypserv
deber�a dar una salida como
program 100004 version 2 ready and waiting
Ya est�, tu servidor ya est� en marcha.
7.2. El Programa yppasswdd
Cada vez que los usuarios cambien sus passwords, la base de datos NIS
y probablemente otras bases de datos que dependan de la base de datos
NIS de los passwords deben ser actualizadas. El programa "yppasswdd"
es un servidor que maneja cambios de password y que se asegura de que
la informaci�n NIS ser� actualizada acordemente. El software para
"yppasswdd" puede encontrarse en:
Servidor Directorio Nombre fichero
ftp.lysator.liu.se /pub/NYS yppasswdd-0.5.tar.gz
ftp.funet.fi /pub/OS/Linux/BETA/NYS/servers yppasswdd-0.5.tar.gz
Una vez obtenido el software, sigue las instrucciones que vienen con
�l.
8. Verificar la Instalaci�n NIS/NYS
Si todo es correcto (como deber�a serlo), deber�as poder verificar tu
instalaci�n con unos pocos comandos. Asumiendo, por ejemplo, que tu
fichero passwd est� siendo soportado por NIS, el comando
% ypcat passwd
deber�a devolverte los contenidos de tu fichero NIS passwd. El comando
% ypmatch userid passwd
(donde userid es el nombre de login de un usuario arbitrario) deber�a
devolver la entrada correspondiente a ese usuario en el fichero NIS
passwd. Los programas "ypcat" e "ypmatch" deber�an venir incluidos con
tu distribuci�n de NIS tradicional o de NYS.
9. Problemas Comunes y soluciones con NIS
Aqu� van algunos problemas comunes seg�n los informes de varios
usuarios:
1. La versi�n 4.5.19 de libc no funciona. NIS no funcionar� con ellas.
2. Si actualizas las librer�as de 4.5.19 a 4.5.24, el comando su
dejar� de funcionar. Necesitas obtener el comando su de la
distribuci�n 1.2.0 de Slackware. Tambi�n de ah� podr�s obtener las
librer�as actualizadas.
3. Puedes encontrar problemas con NIS y DNS en la misma m�quina. Mi
servidor DNS a veces pasa del NIS. Todav�a no he averiguado por
qu�.
4. Cuando un servidor NIS se cae y vuelve a levantarse ypbind arranca
con mensajes como:
yp_match: clnt_call:
RPC: Unable to receive; errno = Connection refused
y los logins de aquellos que est�n registrados en la base de datos NIS
son rechazados. Intenta entrar como root y si lo consigues, mata el
ypbind y arr�ncalo de nuevo.
10. Preguntas Realizadas Frecuentemente
La mayor�a de tus preguntas ya deber�an estar contestadas. Si todav�a
tienes alguna pregunta sin contestar tal vez quieras enviar un mensaje
a
comp.os.linux.help
o contactar con uno de los autores de este HOWTO.
11. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos
(Comos), as� como la producci�n de documentos originales en aquellos
casos en los que no existe an�logo en ingl�s.
En el INSFLUG se orienta preferentemente a la traducci�n de documentos
breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
:) ), etc.
Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.
En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
traducciones: www.insflug.org. Aseg�rese de comprobar cu�l es la
�ltima versi�n disponible en el Insflug antes de bajar un documento de
un servidor r�plica.
Se proporciona tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
Francisco Jos� Montilla,
[email protected].