PRACTICA # 14
"CONFIGURACIÓN DEL PROGRAMA NIS (NETWORKING INFORMATION SERVICES)"
OBJETIVO:
El alumno aprenderá a configurar las computadoras de tal manera que pueda manipular los archivos correspondientes al servidor (los archivos llamados /etc/passwd, /etc/group, /etc/hosts, etc.).INTRODUCCIÓN:
Mas y mas máquinas LINUX son instaladas como parte de una red de computadoras. Para simplificar la administración en red, mas redes corren el Servicio de Información en red (NIS). Las maquinas de LINUX pueden tener cierto avance de la existencia de un servicio NIS o provista por el servidor NIS. Puedes también (con las librerías NYS) actuar como un cliente NIS+.
El Portmapper RPC
Ejecutando el programa mencionado necesitaras correr el programa "/usr/sbin/rpc.portmap". Algunas distribuciones LINUX tienen el código en las siguientes rutas: /etc/rc.d/inet2 (para Slackware) o /etc/rc.d/init.d/portmap (para RedHat) e inicializan este demonio. El RPC portmaper es un servicio que convierte el programa RPC en programas dentro de protocolos TCP/IP (o UDP/IP) por números de puertos. Esta corriendo las llamadas RPC, de servidores RPC en maquinas clientes. Cuando un cliente desea hacer una llamada RPC obtiene un numero de programa, el primer socket portmap en el servidor, determina el número de puerto por donde manda los paquetes RPC.
Con esto podemos darnos cuenta que existe otro protocolo llamado UDP, y para saber un poco mas de él daremos los conceptos de dicho protocolo.
PROTOCOLOS DE DATAGRAMAS DE USUARIO (UDP)
Recordamos que los protocolos no orientados a conexión no proporcionan fiabilidad ni mecanismos de control de flujo. No proporcionan procedimientos de recuperación de errores. UDP es un protocolo no orientado a conexión. Se utiliza a veces como sustituto de TCP cuando no hay que utilizar los servicios de este. Por ejemplo, varios protocolos del nivel de aplicación, como el Protocolo de Transferencia de Datos Trivial (TFTP) y la Llamada de Procedimiento Remoto (RPC) utilizan UDP.
UDP sirve como interfaz de aplicación simple para IP. Como incluye mecanismo de fiabilidad, control de flujo ni medidas de recuperación de errores, sirve únicamente como multiplexor/demultiplexor de envío y recepción del trafico de IP.
UDP hace uso del concepto de puerto para dirigir los datagramas hacia las aplicaciones del nivel superior apropiadas. El datagrama de UDP contiene un numero de puerto de destino que es utilizado por el modulo de UDP para enviar el trafico al receptor adecuado.
FORMATO DEL MENSAJE UDP
Quizá la mejor forma de explicar este protocolo sea examinar el mensaje y los campos que lo componen. Como muestra la fig. el formato es demasiado simple que incluye los sig. campos :
32 BITS |
Puerto de Fuente | Puerto de Destino |
Longitud | Checksum |
Datos |
PUERTO DE FUENTE: Este valor identifica el puerto del proceso de aplicación remitente. Este campo es opcional. Si no se utiliza, se pone a 0.
PUERTO DE DESTINO: Este valor identifica el proceso de recepción en la computadora destino.
LONGITUD: Este valor indica la longitud del datagrama del usuario, incluyendo la cabecera y los datos. La longitud mínima es de 8 bits.
CHECKSUM: Este valor contiene el valor del complemento a 1 en 16 bits de la suma de la subcabecera de IP, la cabecera de UDP y los datos. Se realiza también el checksum de los campos de relleno (si es necesario que el mensaje contiene un número de octetos que sea un múltiplo de 2).
Poco mas se puede decir de UDP. Representa el nivel de servicio mínimo que utilizan muchos sistemas de aplicación basados en transacciones. Es sin embargo, muy útil en los casos en los que son necesarios los servicios de TCP.
Para saber que servicios ofrece TCP/IP y UDP, será de ver el archivo /etc/services para saber que programas usan cada protocolos, ó ambos.
DESARROLLO
También necesitas de diversos programas (ypbind, ypcat, yppoll, ypmatch), pero el más importante es el ypbind, este programa deberá correr todo el tiempo (en el cliente). En el desarrollo esta practica usaremos el servidor con dirección IP 192.168.2.1 (para que no haya problemas) con sus archivos ya configurados para hacer la practica, donde el dominio de las páginas amarillas se denomino Musica. Pero surge una pregunta:
Como configurar un servidor de paginas amarillas (ypserv)?
Esto lo que haremos en 2 partes:
i)En nuestro servidor asignado se repetirá lo que se hizo en el servidor 192.168.2.1.
ii)Después que hicimos la configuración de tal servidor, entonces configuraremos nuestra maquina asignada para que sea un cliente y lea las páginas amarillas del servidor 192.168.2.1.
CONFIGURACION DEL SERVIDOR
Editaremos el archivo Makefile que se encuentra en /var/yp y pondremos entre comentarios desde la palabra netid y se verá de la sig. forma (aproximadamente se encuentra en la línea 91):
all : passwd hosts group netid networks protocols rpc services netgrp \ mail shadow ypservers publickey ethers # amd.home bootparams:Como queda :
all : passwd hosts group #netid networks protocols rpc services netgrp \ mail shadow ypservers publickey ethers # amd.home bootparams (en esta practica usaremos los archivos passwd hosts y grupo).
se dará de baja en el servidor el demonio de las paginas amarillas "ypserv" con la sig. sintaxis:
#/etc/rc.d/init.d/ypserv.init stop
veremos que dominio tiene el servidor:
#domainname
(none)
# #domainname curso
# #domainname
curso
#
cual nos dice el dominio asignado, ahora crearemos las paginas amarillas con make en el directorio /var/yp:
# cd /var/yp
# make
...................
#
Después de crearlas, se hizo un directorio con ese nombre, ahora levantemos el demonio ypserv.init, pero antes cambia el dominio y que sea del servidor llamado 192.168.2.1, (dominio Musica):
#domainname Musica
#
#/etc/rc.d/init.d/ypserv.init start
los programas que vemos que están funcionando son los archivos ypasswdd, portmapper y ypserv, también podemos usar la sig. expresión para si esta corriendo el demonio ypserver o unos de los antes mencionados:
#rpcinfo -u localhost ypserver
100004 version 2 ready and waiting
#
lo que nos dice que el programa listo y en espera de datos.
CONFIGURACION DEL CLIENTE
Ahora se configurará el cliente de tal manera que lea las páginas amarillas del servidor. Primero se creará un archivo para que sepa de que maquina esta exportando las "yellow pages":
#vi /etc/yp.conf
ypserver 192.168.2.1
:wq
Y posteriormente se levantara el demonio ypbind con la sig. sintaxis:
#/usr/sbin/ypbind
#
Para ver si esta levantado usaremos la sig. expresión:
#rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 777 mountd
100005 1 tcp 779 mountd
100003 2 udp 2049 nfs
100003 2 tcp 2049 nfs
100004 2 udp 815 ypserv
100004 1 udp 815 ypserv
100004 2 tcp 818 ypserv
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
100009 1 udp 824 yppasswdd
300019 1 udp 836
#
para ver si exportamos tales paginas amarillas, (las del servidor 192.168.2.1) usaremos el comando ypcat, la sintaxis siguiente (El comando ve las páginas amarillas y las transforma para verlas en la Terminal ) :
#ypcat passwd | more
ó la sig. expresión :
#ypcat group | more
ahí se vera los archivos /etc/passwd, /etc/group y /etc/hosts del servidor192.168.2.1, ahora crearemos un directorio en la raíz:
#cd /
#mkdir users
montaremos el directorio users del servidor 192.168.2.1:
#mount 192.168.2.1:/pub/users /users
En la maquina cliente configura los archivos /etc/passwd y /etc/group, al final de estos debes poner un signo mas (+):
Ejemplo:
++:*:0:0:::
ya que hicimos la configuración del archivo /etc/passwd /etc/group de 192.168.2.1, usaremos un login del tal servidor:
login es NIS
passwd es Redes97
con ello puedes usar el espacio en disco de ese usuario y damos por terminado la configuración del NIS, pero hay una pregunta :
Podré cambiar mi password desde una terminal usando NIS ?
La respuesta es no, pero con otro programa llamado yppasswd, si se puede, a continuación daremos una explicación y como configurar este programa para que podamos cambiar el password.>
En la distribución de los sistemas linux, el passwd, el chsh y chfn solamente puede cambiarlo si el usuario esta dado de alta en la maquina local, pero como esta leyendo las paginas amarillas, del servidor no sirve entonces esos comando, para ello tenemos el yppasswd, ypchfn y ypchsh, estos 2 últimos comandos pueden ser opciones del primero con la bandera -f y -l, respectivamente.
El yppasswd cambia el passwd del usuario que esta en el NIS. El usuario tendrá que escribir su passwd con un menor de 6 caracteres.
El ypchsh o yppasswd -l cambia el shell del usuario NIS, y aparecerá el shell que usa por default:
Login shell [/bin/bash]: _
Si quieres ese shell, solamente le daras ENTER, si no deberás darle el shell que quieras, pero siempre con la ruta absoluta donde se encuentra el shell.
EL ypchfn ó yppasswd -f Cambia los datos que tiene registrados el usuario NIS, lo que llamamos el GECOS, donde aparecerán las sig. datos a cambiar:
Name [NIS]:
Location [ C.U.]:
Office Phone []:
Home Phone []:
Si quieres tener los mismos datos por default, solamente teclea ENTER, si no haz las modificaciones pertinentes.
La instalación del yppasswd es muy sencilla, donde harás los siguientes pasos de comandos:
#cd /usr/bin
#mv passwd passwd.old
#chmod go-rwx passwd.old
#ln yppasswd passwd
Esta secuencia de sintaxis es:
- Cambiarnos a /usr/bin
- Mover el comando passwd
- Quitarles permisos a ejecutarlo, tanto al grupo como a otras personas
- Ligar el programa passwd con yppasswd, para poder asi cambiar el passwd de la configuración NIS. Donde cabe señalar que el comando passwd.old solamente lo puede ejecutar el administrador Esto se hace en las maquinas con clientes NIS).
Esto seria lo ultimo de modificaciones para tener un buen control de maquinas clientes, para no dar de alta y no cambiar passwd desde el servidor, y con ello daremos por terminada la practica de NIS.
CUESTIONARIO:
1.- Cual es la ventaja de utilizar NIS?
2.- Cual es la desventaja de utilizar NIS?
3.- Que archivos exportaron al utilizar NIS?
4.- Puedes exportar otros archivos que no sean los antes mencionados? Si ó no Porque?
5.- Cuales son los archivos configurados en el servidor?
6.- Cuales son los archivos configurados en el cliente?
7.- Que demonios activaste para empezar a exportar los archivos?
8.- Después de configurar NIS se puede cambiar el password de la maquina cliente? Porque?
9.- Como se llama el comando para cambiar el password en la yellow pages?
10.- Como se verificó que los demonios están en los puertos respectivos?
11.- Que puertos utiliza el Networking Information Services y el portmap?
12.- Que protocolo se utilizó para la configuración del NIS?
13.- Menciona algunos comandos que se utilizaron para el NIS y su significado para el sistema?
CONCLUSIONES