Network Information Service (NIS)

SERVIDOR IP: 192.168.1.6

EQUIPO CLIENTE: 192.168.1.8

INSTALACIÓN

La instalación de Network Information Service se puede realizar desde la misma terminal de Linux.

apt update
apt upgrade
apt install nis

NIS funcionara como cliente o servidor, dependiendo de la configuración que se realice.

CONFIGURACIÓN

Para convertir NIS en un servidor se debe editar el archivo /etc/defaults/nis.

nvim /etc/defaults/nis

Dentro del mismo se debe definir a NISSERVER como master.

# Are we a NIS server and if so what kind (values: false, slave, master)?
NISSERVER=master

RED

Definir las redes que tendrán acceso al NIS (Yellow Pages)

nvim /etc/ypserv.securenets

Para este ejemplo utilizare la red 192.168.1.0/24.

# This lines gives access to everybody. PLEASE ADJUST!
255.255.255.0           192.168.1.0

Al definir la red con la cual se trabajara, ninguna maquina fuera de esta red tendrá acceso.

DOMINIO NIS

Asignar dominio NIS. En este ejemplo utilizare ema.local.

nvim /etc/defaultdomain

Este archivo es probable que no exista, por lo tanto se debe crear.

ema.local
~
~

Finalizada las configuraciones es necesario reiniciar los servicios y habilitarlos para que inicien de forma automática con el sistema.

systemctl restart rpcbind ypserv yppasswdd ypxfrd
systemctl enable rpcbind ypserv yppasswdd ypxfrd

MAKEFILE

Definir los servicios que se van a exportar. Para eso se debe editar nvim /var/yp/Makefile

nvim /var/yp/Makefile

Como en los inicio de los sistemas Linux las claves venían en el archivo passwd y ahora se encuentran en el archivo shadow. Este mismo archivo se debe definir.

ALL =   passwd group hosts rpc services netid protocols netgrp
#ALL += publickey mail ethers bootparams printcap
#ALL += amd.home auto.master auto.home auto.local
#ALL += timezone locale networks netmasks

En la primera linea se debe agregar shadow.

ALL =   passwd shadow group hosts rpc services netid protocols netgrp
#ALL += publickey mail ethers bootparams printcap
#ALL += amd.home auto.master auto.home auto.local
#ALL += timezone locale networks netmasks

INICIAR SERVICIO

Para iniciar el servicio de Yellow Pages ejecutar el binario ypinit.

/usr/lib/yp/ypinit -m

El HOST que se coloca como servidor maestro es el mismo equipo y su HOSTNAME es servdior.

Por lo tanto solo se debe presionar <\Control> D.

Finalizado este paso, el servicio se encuentra funcionando.

CLIENTE

Dentro del equipo cliente se debe instalar el servicio de NIS.

apt update
apt upgrade
apt install nis

Luego de la instalación se le debe decir al equipo cliente donde esta el SERVIDOR NIS.

Editar el archivo /etc/hosts.

nvim /etc/hosts

DOMINIO

Este cliente pertenece al dominio ema.local y el servidor que se encarga de administrar este dominio es servidor.

nvim /etc/yp.conf

Agregar:

# ypserver ypserver.network.com
domain ema.local       server  servidor 

SERVICIOS

Servicio de los clientes que vendrán por medio del NIS

nvim /etc/nsswitch.conf

Para este ejemplo solo traere los siguientes servicios:

passwd:         files systemd nis
group:          files systemd nis
shadow:         files nis
hosts:          files dns nis

HOSTS

Agregar el dominio ema.local

nvim /etc/defaultdomain 

Para finalizar se debe reniciar y habilitar los servicios.

systemctl restart rpcbind nscd ypbind
systemctl enable rpcbind nscd ypbind

GESTION DE USUARIOS

Crear Usuario:

useradd ema -d /opt/user/ema
passwd ema

Luego de la creacion del usuario es necesario que se vuelva a utilizar el MAKE.

Para eso hay que dirigirse al directorio /var/yp/.

cd /var/yp/

make

Esto realizara las siguientes actualizaciones:

root@servidor:/var/yp# make
gmake[1]: se entra en el directorio '/var/yp/ema.local'
Updating passwd.byname...
Updating passwd.byuid...
Updating shadow.byname...
Updating group.byname...
Updating group.bygid...
Updating netid.byname...
gmake[1]: se sale del directorio '/var/yp/ema.local'

Realizar el primer login.

Como se observa en la imagen no se encuentra el directorio HOME del usuario ema, ya que el mismo se encuentra dentro del SERVIDOR NIS y no en la maquina cliente. Una solución que se puede encontrar a esto, es utilizar NFS y exportar todo el HOME del usuario a toda la red.

INSTALACION NFS

SERVIDOR

Instalación de NFS-SERVER

apt install nfs-server

Editar el archivo exports.

nvim /etc/exports

dentro del mismo archivo se debe agregar el directorio que se compartirá con toda la red y los permisos:

Exportar los directorios:

exportfs -a
exportfs -v

CLIENTE

Instalar NFS-COMMON

apt install nfs-common

Antes de comenzar con la configuración verifico el estado del servicio de NFS. En mi caso se encuentra inactivo por algun error.

Solucion:

rm /lib/systemd/system/nfs-common.service
systemctl	disable nfs-common
systemctl	start nfs-common
systemctl	enable nfs-common

nvim /etc/fstab

Dentro del archivo se debe agregar la siguiente linea:

192.168.1.6:/opt/user   /opt/user       nfs     defaults        0       2

Luego para montar el directorio remoto:

mount -a

LOGIN

ahora en el nuevo login se puede ver como el usuario ema tiene su directorio HOME.