Sie sind auf Seite 1von 22

Capítulo 31: El Servidor NIS

Capítulo 31:

El Servidor NIS
• ¿Qué es NIS?
• ¿Quiénes componen un dominio NIS?
• ¿Cómo trabaja NIS?
• Servicios y procesos NIS.
• Configuración de NIS.
• Creando y actualizando nuevos mapas NIS.
• Recursos adicionales.


Sistema Operativo Linux


Capítulo 31: El Servidor NIS

El servidor NIS
31.1. ¿Qué es NIS?
NIS, siglas de Network Information Services (Servicios de Información de Red), fué un servicio
desarrollado por Sun Microsystems con la finalidad de centralizar la administración de sistemas
UNIX. Hoy NIS es considerado como un estándar de la industria, tal es así que Solaris, HP-UX,
AIX, Linux, NetBSD, OpenBSD, FreeBSD, y otros sistemas, implementan NIS.
NIS se conoció como el servicio de páginas amarillas (yellow pages o yp) pero debido a problemas
legales debidos a la propiedad de marcas comerciales, Sun tuvo que cambiar el nombre. Como
rastro de esto es que muchos de sus comandos comienzan con yp.
NIS es un sistema cliente servidor basado en llamadas RPC que permite a un grupo de máquinas
que se encuentran definidas dentro de un dominio administrativo NIS compartir un conjunto
de archivos de configuración. Esto permite al administrador de sistemas por un lado configurar
clientes NIS de forma sencilla y por otro lado centralizar la gestión de los archivos de configuración
en una única ubicación (una sola máquina).

Figura 31.1. Servicio NIS.


Sistema Operativo Linux

31.2. ¿Quiénes componen un dominio NIS?


Como se aprecia en la figura 31.1., hay 3 tipos de sistemas que conforman un dominio administrativo
NIS. Éstas son:
• Servidor NIS maestro: Este servidor mantiene todos los archivos de configuración
relacionados con los clientes, por ejemplo: contraseñas, grupos, correo electrónico, servicios,
protocolos, etc.
• Servidor NIS esclavo: Los servidores NIS esclavos se utilizan para proporcionar redundancia
en entornos de trabajo donde la disponibilidad del servicio resulta muy importante. Los
servidores esclavos también permiten distribuir la carga que normalmente soporta un servidor
maestro.
• Clientes NIS: Los clientes NIS son sistemas que pertenecen al dominio NIS y para hacer
uso del servicio deben autenticarse en un servidor NIS.
Nota:
Un servidor NIS maestro puede configurarse para atender a más de un dominio NIS.

31.3. ¿Cómo trabaja NIS?


Se ha visto que en un ámbito NIS interactúan servidores NIS (maestro y esclavos) y clientes
NIS. Los servidores actúan como repositorios centrales que almacenan toda la información de
configuración en bases de datos especiales. Los servidores maestros mantienen una copia maestra
de esa información, mientras que los servidores esclavos mantienen una réplica de la información
maestra por motivos de redundancia.
Los servidores se encargan de transmitir la información necesaria a los clientes NIS a petición
de estos últimos. Es de esta manera que se puede compartir mucha información contenida en
varios archivos. Los archivos que normalmente son solicitados por los clientes NIS son passwd,
group y hosts.
Las actualizaciones sólo se realizan en el servidor maestro y éste es responsable de notificar a
todos los servidores esclavos de cualquier cambio en los mapas NIS, (vía el programa “yppush”),
y recibirán automáticamente los cambios necesarios para sincronizar sus copias maestras. Los
clientes NIS no necesitan hacer esto ya que éstos siempre “conversan” directamente con el servidor
NIS para leer la información almacenada en sus bases de datos.
Las bases de datos NIS están en el formato DBM y están en el directorio /var/yp.


Capítulo 31: El Servidor NIS

31.4. Servicios y procesos NIS


A continuación se muestra una tabla con una breve explicación de los servicios y procesos usados
para implementar el servicio NIS.

Términos Descripción

NIS Un dominio NIS incluye: servidores NIS maestros y esclavos y todos


domainname sus clientes. El dominio NIS nada tiene que ver con el dominio DNS.

El servidor portmap convierte números de programas RPC en números


de puerto de protocolo DARPA. Debe ejecutarse para que se activen las
portmap llamadas a procedimientos remotos (Remote Procedure Call o RPC)
que son utilizadas por NIS. Si portmap no se está ejecutando no se
podrá ejecutar ni clientes ni servidores NIS.

“Asocia” un cliente con un servidor NIS. Primeramente se lee el nombre


de dominio NIS del sistema y utilizando RPC se conecta con el servidor.
ypbind ypbind es la parte principal de la comunicación cliente servidor del
sistema NIS; si ypbind muere en una máquina cliente, dicha máquina
no podrá acceder al servidor NIS.

Es el proceso servidor de NIS, debe ejecutarse sólo en los servidores


NIS. Si ypserv muere, el servidor no será capaz de responder las
ypserv
peticiones NIS (no obstante, si se definen servidores NIS esclavos la
situación puede recuperarse).
Es un proceso que sólo debe ejecutarse en el servidor maestro NIS;
se trata de un demonio que permite a los clientes NIS modificar las
rpc.yppasswdd contraseñas de los usuarios. Si no se ejecuta este demonio los usuarios
tendrán que entrar al servidor maestro NIS para cambiar sus contraseñas
allí.
rpc.ypxfrd se usa para acelerar la transferencia de grandes mapas NIS
rpc.ypxfrd
desde un servidor maestro NIS hacia un servidor esclavo.
Transfiere la base de datos NIS desde un servidor remoto a un host
ypxfr
local.


Sistema Operativo Linux

31.4.1. Ubicación de todos los archivos NIS


A continuación se muestran los servicios, scripts, comandos, archivos de configuración, etc.,
relacionados con NIS:

Comandos:
/bin/ypdomainname /usr/bin/ypwhich
/bin/nisdomainname /usr/sbin/ypserv
/usr/bin/ypchsh /usr/sbin/yppush
/usr/bin/ypmatch /usr/sbin/yptest
/usr/bin/ypchfn /usr/sbin/ypset
/usr/bin/yppasswd /usr/sbin/yppoll
/usr/bin/ypcat

Archivos de configuración:
/etc/yp.conf
/etc/ypserv.conf
/usr/share/doc/ypserv-2.13/securenets Directorios con documentos sencillos:
Shells: /usr/share/doc/ypbind-1.17.2/*
/etc/rc.d/init.d/ypbind /usr/share/doc/yp-tools-2.8/*
/etc/rc.d/init.d/yppasswdd /usr/share/doc/ypserv-2.13/*
/etc/rc.d/init.d/ypserv
/etc/rc.d/init.d/ypxfrd
/etc/sysconfig/yppasswdd

Comandos:
/usr/lib/yp/create_printcap
/usr/lib/yp/ypinit
/usr/lib/yp/mknetid
/usr/lib/yp/yphelper
/usr/lib/yp/makedbm
/usr/lib/yp/ypxfr
/usr/lib/yp/pwupdate
/usr/lib/yp/ypxfr_2perday
/usr/lib/yp/match_printcap
/usr/lib/yp/ypxfr_1perhour
/usr/lib/yp/revnetgroup
/usr/lib/yp/ypxfr_1perday


Capítulo 31: El Servidor NIS

Archivos man comprimidos:


/usr/share/man/man1/ypwhich.1.gz
/usr/share/man/man8/yppasswdd.8.gz
/usr/share/man/man1/yppasswd.1.gz
/usr/share/man/man8/yppoll.8.gz
/usr/share/man/man1/ypcat.1.gz
/usr/share/man/man8/yptest.8.gz
/usr/share/man/man1/ypchsh.1.gz
/usr/share/man/man8/yphelper.8.gz
/usr/share/man/man1/ypchfn.1.gz
/usr/share/man/man8/ypinit.8.gz
/usr/share/man/man1/ypdomainname.1.gz
/usr/share/man/man8/ypset.8.gz
/usr/share/man/man1/ypmatch.1.gz
/usr/share/man/man8/ypxfr.8.gz
/usr/share/man/man5/yp.conf.5.gz
/usr/share/man/man8/ypserv.8.gz
/usr/share/man/man5/ypserv.conf.5.gz
/usr/share/man/man8/ypxfrd.8.gz
/usr/share/man/pt/man1/
/usr/share/man/man8/yppush.8.gz
ypdomainname.1.gz
/usr/share/man/man8/ypbind.8.gz
/usr/share/man/de/man1/
/usr/share/man/fr/man1/
ypdomainname.1.gz
ypdomainname.1.gz

Archivos man comprimidos:


/var/cache/man/cat8/ypxfr.8.bz2
/var/cache/man/cat1/ypmatch.1.bz2
/var/cache/man/cat8/yptest.8.bz2
/var/cache/man/cat1/ypcat.1.bz2
/var/cache/man/cat8/ypbind.8.bz2
/var/cache/man/cat1/ypwhich.1.bz2
/var/cache/man/cat8/ypinit.8.bz2
/var/cache/man/cat5/yp.conf.5.bz2
/var/cache/man/cat8/ypserv.8.bz2
/var/cache/man/cat5/ypserv.conf.5.bz2
/var/cache/man/cat8/yphelper.8.bz2
/var/cache/man/cat8/yppush.8.bz2


Sistema Operativo Linux

31.4.2. Servicios NIS especiales y sus archivos de configuración


31.4.2.1. El servicio portmap
El servidor portmap convierte números de programas RPC en números de puerto de protocolo TCP/
IP. Debe ejecutarse para que se activen las llamadas a procedimientos remotos (Remote Procedure
Call o RPC) que son utilizadas por NIS. Si portmap no se está ejecutando no se podrá ejecutar ni
clientes ni servidores NIS. Esto se aprecia mejor el ejecutar rpcinfo. Véalo a continuación:
[root@fedora3 ~]# /usr/sbin/rpcinfo -p 192.168.1.243 | less
programa vers proto puerto
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32769 status
100004 2 udp 890 ypserv
100004 1 udp 890 ypserv
100004 2 tcp 893 ypserv
100004 1 tcp 893 ypserv
600100069 1 udp 900 fypxfrd
600100069 1 tcp 902 fypxfrd
100007 2 udp 913 ypbind
100007 1 udp 913 ypbind
100007 2 tcp 916 ypbind
100007 1 tcp 916 ypbind
100011 1 udp 771 rquotad
100011 2 udp 771 rquotad
100011 1 tcp 790 rquotad
100011 2 tcp 790 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 udp 32773 nlockmgr
100021 3 udp 32773 nlockmgr
100021 4 udp 32773 nlockmgr
100021 1 tcp 32770 nlockmgr
100021 3 tcp 32770 nlockmgr
100021 4 tcp 32770 nlockmgr


Capítulo 31: El Servidor NIS

100005 1 udp 797 mountd


100005 1 tcp 812 mountd
100005 2 udp 797 mountd
100005 2 tcp 812 mountd
100005 3 udp 797 mountd
100005 3 tcp 812 mountd
100002 3 udp 32774 rusersd
100002 2 udp 32774 rusersd
100009 1 udp 858 yppasswdd

31.4.2.2. El servicio ypserv


El demonio ypserv, se activa al iniciarse el sistema y corre sólo en máquinas servidoras NIS con
su base de datos NIS completa. Para conectarse a este tipo de máquinas debe correr ypbind como
cliente o bajo Linux podría usar las librerías de C con soporte NYS.

Figura 31.2. Servicio ypserv.


Sistema Operativo Linux

El servicio ypserv toma información del archivo /etc/ypserv.conf que es un archivo ASCII que
contiene algunas opciones de configuración para ypserv. También contiene una lista de reglas para
un anfitrión (host) especial y mapas de acceso para ypserv y rpc.ypxfrd. Este archivo será leído
por ypserv y rpc.ypxfrd al iniciarse el sistema, o cuando reciba una señal SIGHUP.
A continuación el contenido por defecto del archivo de configuración de ypserv:
[root@fedora3 ~]# cat /etc/ypserv.conf
#
# ypserv.conf In this file you can set certain options for the NIS server,
# and you can deny or restrict access to certain maps based
# on the originating host.
#
# See ypserv.conf(5) for a description of the syntax.
#
# Some options for ypserv. This things are all not needed, if
# you have a Linux net.
# Should we do DNS lookups for hosts not found in the hosts table ?
# This option is ignored in the moment.
dns: no
# How many map file handles should be cached ?
files: 30
# Should we register ypserv with SLP ?
slp: no
# After how many seconds we should re-register ypserv with SLP ?
slp_timeout: 3600
# xfr requests are only allowed from ports < 1024
xfr_check_port: yes
# The following, when uncommented, will give you shadow like passwords.
# Note that it will not work if you have slave NIS servers in your
# network that do not run the same server as you.
# Host : Domain : Map : Security
#
#* :* : passwd.byname : port
#* :* : passwd.byuid : port
# Not everybody should see the shadow passwords, not secure, since
# under MSDOG everbody is root and can access ports < 1024 !!!
* :* : shadow.byname : port
* :* : passwd.adjunct.byname : port

10
Capítulo 31: El Servidor NIS

# If you comment out the next rule, ypserv and rpc.ypxfrd will
# look for YP_SECURE and YP_AUTHDES in the maps. This will make
# the security check a little bit slower, but you only have to
# change the keys on the master server, not the configuration files
# on each NIS server.
# If you have maps with YP_SECURE or YP_AUTHDES, you should create
# a rule for them above, that’s much faster.
#* :* :* : none

31.4.2.3. El servicio ypbind


En la interfaz gráfica el programa system-config-services, mostrará la siguiente ventana:

Figura 31.3. Servicio ypbind.

11
Sistema Operativo Linux

El demonio ypbind corre en un cliente NIS/YP y se enlaza a un dominio NIS. Este demonio lee
la información del archivo /etc/yp.conf.
A continuación el contenido por defecto del archivo de configuración de ypbind:
[root@fedora3 ~]# cat /etc/yp.conf
# /etc/yp.conf - ypbind configuration file
# Valid entries are
#
# domain NISDOMAIN server HOSTNAME
# Use server HOSTNAME for the domain NISDOMAIN.
#
# domain NISDOMAIN broadcast
# Use broadcast on the local net for domain NISDOMAIN
#
# domain NISDOMAIN slp
# Query local SLP server for ypserver supporting NISDOMAIN
#
# ypserver HOSTNAME
# Use server HOSTNAME for the local domain. The
# IP-address of server must be listed in /etc/hosts.
#
# broadcast
# If no server for the default domain is specified or
# none of them is rechable, try a broadcast call to
# find a server.
#
domain ici.edu.pe server 192.168.1.243

En una interfaz de comandos de línea se utilizaría los siguientes comandos:


• Para restablecerlo ejecutar:
[root@fedora3 yp]# service ypbind restart
• Para ver su estado, ejecutar:
[root@fedora3 ~]# /sbin/service ypbind status

Se está ejecutando ypbind (pid 4164)...

• Y para detenerlo ejecutar:


[root@fedora3 yp]# service ypbind stop

12
Capítulo 31: El Servidor NIS

31.4.2.4. El servicio yppasswdd


El servicio yppasswdd, es un servicio RPC que le permite al usuario cambiar sus contraseñas
en presencia del servidor NIS. Debe correr en un servidor NIS maestro que controle ese dominio
NIS. El programa cliente es conocido yppasswd en muchos casos.
En la figura de arriba se aprecia que se está ejecutando con un identificador de proceso 2334.

Figura 31.4. Servicio yppasswdd.

13
Sistema Operativo Linux

31.4.2.5. El servicio ypxfrd


Es el servidor de transferencia de mapas de NIS. El servicio rpc.ypxfrd se usa para acelerar la
transferencia de grandes mapas NIS desde un servidor maestro NIS hacia un servidor esclavo.
Si un servidor esclavo recibe un mensaje de que hay un nuevo mapa, éste iniciará ypxfr para
transferir un nuevo mapa.
El proceso ypxfr leerá el contenido de un mapa desde el servidor maestro usando la función
yp_all(). Este proceso puede tomar varios minutos cuando hay grandes mapas que han sido
almacenados por las bibliotecas de base de datos.
En la siguiente página, en un ambiente gráfico, el programa de servicios muestra el servicio
ypxfrd.

Figura 31.5. Servicio ypxfrd.

14
Capítulo 31: El Servidor NIS

31.4.2.6. Definición de los derechos de acceso al servidor NIS


Configure este archivo para permitir que determinados clientes accedan al servidor NIS.
[root@fedora3 ypserv-2.13]# cat securenets
#
# securenets This file defines the access rights to your NIS server
# for NIS clients. This file contains netmask/network
# pairs. A clients IP address needs to match with at least
# one of those.
#
# One can use the word “host” instead of a netmask of
# 255.255.255.255. Only IP addresses are allowed in this
# file, not hostnames.
#
# Always allow access for localhost
255.0.0.0 127.0.0.0
# This line gives access to everybody. PLEASE ADJUST!
0.0.0.0 0.0.0.0

15
Sistema Operativo Linux

31.5. Configuración de NIS


A continuación se muestran los procedimientos para configurar un servidor NIS y un cliente
NIS.

31.5.1. Configurar un servidor NIS


Siga los siguientes pasos:
1. Crear un nombre de dominio NIS (/bin/nisdomainname nombre-de-dominio).
Ejemplo:
[root@fedora3 ~]# nisdomainname ici.edu.pe

2. Dirigirse al directorio /var/yp/.


[root@fedora3 yp]# cd /var/yp

3. Crear un directorio con el nombre de dominio NIS (mkdir nombre-de-dominio).


Ejemplo:
[root@fedora3 yp]# mkdir ici.edu.pe

4. Restablecer el servicio portmap:


[root@fedora3 yp]# service portmap restart
Parando portmap: [ OK ]
Iniciando portmap: [ OK ]

5. Restablecer el servicio ypserv:


[root@fedora3 yp]# service ypserv restart
Parando servicios del servidor YP: [ OK ]
Iniciando los servicios del servidor YP: [ OK ]

6. Restablecer el servicio ypbind:


[root@fedora3 yp]# service ypbind restart
Apagando servicios NIS: [ OK ]
Enlazando al dominio NIS: [ OK ]
Escuchando por un servidor de dominio NIS.

16
Capítulo 31: El Servidor NIS

7. Compilar:
[root@fedora3 yp]# make
gmake[1]: Entering directory `/var/yp/ici.edu.pe’
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/ici.edu.pe’

8. Predeterminar en el servidor Linux Fedora los siguientes servicios, que deben iniciarse desde
el inicio en el servidor: 
/usr/sbin/ypserv
/usr/sbin/ypbind
/sbin/portmap
Verificación:
Se ejecutarán algunos comandos para certificar la configuración del servicio NIS:
[root@fedora3 ~]# nisdomainname
ici.edu.pe

[root@fedora3 ~]# ypdomainname


ici.edu.pe

[root@fedora3 ~]# /sbin/service ypserv status


Se está ejecutando ypserv (pid 4143)...

[root@fedora3 ~]# /sbin/service ypbind status


Se está ejecutando ypbind (pid 4164)...

17
Sistema Operativo Linux

[root@fedora3 ~]# /usr/sbin/rpcinfo -u localhost ypbind


el programa 100007 versión 1 está listo y a la espera
el programa 100007 versión 2 está listo y a la espera

[root@fedora3 yp-tools-2.8]# ypmatch invitado passwd


invitado:$1$77Yeq.X1$Oa.ABidbAPwGmSdSWoaap/:501:501:invitado:/home/invitado:/bin/bash

[root@fedora3 yp-tools-2.8]# ypmatch haragons passwd


haragons:$1$.RKnhyHa$r/mPqYm5IhdpyYpIqsOt7.:502:502:has:/home/haragons:/bin/bash

31.5.2. Configurar un cliente NIS


Siga los siguientes pasos:
1. En gnome seleccionar: Aplicaciones  Configuración del sistema Autenticación.
2. Marcar la casilla “Habilitar el soporte NIS”.

Figura 31.6. Soporte NIS.

3. Seleccionar “Configurar NIS...”.


4. En Dominio NIS escribir el nombre del dominio NIS creado.
18
Capítulo 31: El Servidor NIS

5. En Servidor NIS poner la dirección IP del Servidor NIS.

Figura 31.7. Soporte NIS.

6. En el servidor deben de estar seleccionados los servicios siguientes para arrancar desde el
inicio del sistema.
/usr/sbin/ypbind
/sbin/portmap
Resumiendo:
Trabajando como cliente NIS debe correr ypbind. Este servicio debe correr en cada máquina que
se comporta como un cliente de NIS. Para los usuarios normales, usted necesita yp-tools.
Este paquete provee las siguientes herramientas:
• Orientadas a la comunicación:
o ypbind.
o ypset.
o ypwhich.
• Para acceder a los mapas NIS:
o ypcat.
o ypmatch.
o yppoll.
• Para cambiar la información del usuario:
o ypchfn.
o ypchsh.
o yppasswd.

19
Sistema Operativo Linux

31.6. Creando y actualizando nuevos mapas NIS


31.6.1. Creando nuevos mapas NIS
Para crear un mapa ejecute:
[root@fedora3 yp]# /usr/lib/yp/ypinit –m
Esto se hace cuando se configure el servidor NIS maestro por primera vez. Si desea agregar un
nuevo mapa o eliminar uno ya existente, necesita editar el archive /var/yp/Makefile y cambiar
la regla: all. Agregue o remueva el nombre de la regla, que genera el mapa.
Si usted elimina un mapa también debe remover sus correspondientes archivos. Después de este
cambio, necesita correr:
[root@fedora3 yp]# make -C /var/yp
y los mapas deberán ser creados.

31.6.2. Actualizando mapas NIS


Si crea un nuevo usuario y le asigna una contraseña ha modificado los archivos y por lo tanto
habrá que regenerar los mapas NIS. Ésto se hace de la siguiente manera:
[root@fedora3 yp]# make -C /var/yp

31.7. Recursos adicionales


Este capítulo trata sobre la utilización de NIS. Para obtener información más detallada, consulte
los siguientes recursos.

31.7.1. Documentación instalada


31.7.1.1. Usando man
Las páginas del manual de:
ypserv ypchsh ypcat yppoll
ypbind ypmatch ypwhich ypdomainname
yppasswdd ypchfn yppush nisdomainname
ypxfrd yppasswd yptest ypinit
rpc.ypxfrd yp.conf ypserv.conf securenets
Le muestran la sintaxis correcta de los comandos, scripts y archivos de configuración de NIS.

20
Capítulo 31: El Servidor NIS

31.7.1.2. En los directorios


En los directorios:
• /usr/share/doc/ypbind-1.17.2
• /usr/share/doc/yp-tools-2.8
• /usr/share/doc/ypserv-2.13
Encontrará información relativa a NIS.

31.7.2. Sitios Web útiles


• http://www.linux-nis.org/nis-howto/HOWTO/
The Linux NIS(YP)/NYS/NIS+ HOWTO, Por Thorsten Kukuk, v1.3, 1 July 2003
Este documento describe cómo configurar Linux como NIS(YP) or cliente NIS+ y cómo
instalar NIS como un servidor.
• http://www.tldp.org/HOWTO/NFS-HOWTO/index.html
Linux NFS-HOWTO del Linux Documentation Project.

31.7.3. Libros sobre el tema


• Managing NFS and NIS Services de Hal Stern; O'Reilly & Associates, Inc.

21
Sistema Operativo Linux

22

Das könnte Ihnen auch gefallen