NIS: Guia de Instalación y Configuración en CentOS
NIS (Network Information Services o anteriormente conocido como Sun Yellow Pages) es un servicio de directorios para la distribución y centralización de datos originalmente desarrollado por Sun Microsystems y actualmente disponible libremente en todas las distribuciones de Linux y variantes Unix.
Con NIS vamos a poder centralizar los nombres de usuarios, contraseñas de acceso, nombres de los equipos, entre otras cosas más en una infraestructura Unix.
NIS es comúnmente utilizado en conjunto con NFS, en esta guia solo nos basaremos en NIS, pero les dejare un ejemplo claro de las posiblidades de este duo dinamico (Luego escribire una guía sobre este ejemplo):
«Tenemos un servidor central corriendo NFS y NIS, con NFS se distribuye la partición /userdata y con NIS se distribuye la información de autentificación y resolucion de nombres. Los clientes estan configurados para autentificar a traves de NIS y tienen montada la partición /userdata, los usuarios del servidor NIS tienen su «home» en la partición /userdata, permitiendo que los datos de usuario y credenciales de acceso esten centralizadas en un servidor».
En esta guia estaré utilizando servidores CentOS, y empezamos con la instalación de los paquetes necesarios en el servidor:
# yum install ypbind yp-tools ypserv
Luego editamos el archivo /etc/yp.conf en donde agregamos la siguiente linea donde «punto-libre.org» es el dominio NIS y la IP mostrada es la IP del servidor:
domain punto-libre.org server 10.0.1.200
Luego editamos el archivo /etc/ypserv.conf dejandolo de esta manera:
dns: no #En caso de que no encuentre algun host en la tabla host, que no lo resuelva por DNS
files: 30 #Cantidad de mapas que se van a cachear, en 0 se deshabilita el cache
xfr_check_port: yes # Verifica que las solicitudes solo sean permitidas por puertos menores a 1024
#Se especifican los mapas que se van a servir, el * significa todo
#Host : Domain : Map : port
* : * : shadow.byname : port
* : * : passwd.adjunct.byname : port
* : * : hosts.byaddr : port
* : * : hosts.byaddr : port
En la parte «Map» podemos especificar los mapass o el valor *, si queremos distribuir todas las tablas, en el ejemplo anterior estamos distribuyendo passwd, shadow y hosts.
En el siguiente paso es crear el archivo /var/yp/securenets, este especificara los hosts y redes que podran consultar nuestro servidor NIS, por ejemplo en caso de que sea la red 10.0.1.0/24 y nuestro mismo server tendria el siguiente contenido:
host 127.0.0.1
255.255.255.0 10.0.1.0
En caso de permitir cualquier red, con el siguiente contenido estaria bien:
0.0.0.0 0.0.0.0
Luego integramos nuestro servidor al dominio agregando al archivo /etc/sysconfig/network el siguiente parametro:
NISDOMAIN=»punto-libre.org»
Luego ejecutamos los siguientes comandos:
# domainname punto-libre.org
# ypdomainname punto-libre.org
# hostname servidor.punto-libre.org
Despues creamos los mapas NIS, ejecutando el siguiente comando:
# /usr/lib/yp/ypinit -m
Y luego pulsando Control + D, luego Yes.
El nombre del servidor debe de estar resuelto, en caso de no tenerlo resuelto a traves de algun DNS, agregar al archivo /etc/hosts, algo parecido a esto:
10.0.1.200 server.opencop.net server opencop.net
Para terminar con el servidor subimos todos los servicios:
# service ypbind start && service yppasswdd start && service ypxfrd start && service portmap restart
Luego los ponemos en el arranque del sistema:
# chkconfig ypbind on && chkconfig yppasswd && chkconfig ypxfrd start && service portmap start
Cliente NIS:
Al cliente NIS le instalamos los siguientes paquetes:
# service ypbind yp-tools
Luego realizamos la misma configuración que en la parte servidora en los archivos /etc/yp.conf y /etc/hosts, y los comandos domainname y ypdomainname anteriormente vistos.
Editamos el archivo /etc/nsswitch.conf, agregandole «nis» de la siguiente manera:
passwd: file nis
shadow: file nis
group: file nis
Luego ponemos subimos el servicio ypbind y reiniciamos el portmap:
# service ypbind start && service portmap restart
Luego los ponemos en el arranque del sistema:
# chkconfig ypbind on && chkconfig portmap on
Finalmente con ypcat verificamos que estamos recibiendo lo que queremos (Solamente se recibiran los datos que no tengamos en el archivo passwd local):
# ypcat passwd
Y deberia mostrar:
carolina:!!:500:500::/userdata/carolina:/bin/bash
wilfredo:!!:502:502::/userdata/wilfredo:/bin/bash
alfredo:!!:501:501::/userdata/alfredo:/bin/bash
Y podremos acceder con esos usuarios… Luego veremos una guía donde integraremos NFS con NIS.