NIS (Network Information Service) es el nombre de un protocolo de servicios de directorios cliente-servidor desarrollado por Sun Microsystems para el envío de datos de configuración en sistemas distribuidos tales como nombres de usuarios y hosts entre computadoras sobre una red.
NIS está basado en ONC RPC, y consta de un servidor, una biblioteca de la parte cliente, y varias herramientas de administración.
Primero verificamos que tenemos todos estos archivos y los que no esté lo creamos.
/etc/auto_home (Esta creado)
/etc/auto_master (Esta creado)
/etc/bootparams (Hay que crearlo)
/etc/ethers (Esta creado)
/etc/group (Esta creado)
/etc/hosts (Esta creado)
/etc/inet/ipnodes (Esta creado)
/etc/mail/aliases (Esta creado)
/etc/netgroup (Hay que crearlo)
/etc/netid (Hay que crearlo)
/etc/netmasks (Esta creado)
/etc/networks (Esta creado)
/etc/passwd (Esta creado)
/etc/protocols (Esta creado)
/etc/publickey (Esta creado)
/etc/rpc should (Esta creado)
/etc/services (Esta creado)
/etc/shadow (Esta creado)
/etc/timezone (Hay que crearlo)
/etc/auth_attr (Copiar fichero de: /etc/security/)
/etc/exec_attr (Copiar fichero de: /etc/security/exec_attr )
/etc/prof_attr (Copiar fichero de: /etc/security/prof_attr )
/etc/audit_user (Copiar fichero de: /etc/security/audit_user )
Para no perder ningun tipo de configuracion o archivo importante hacemos una copia de seguridad del fichero
nsswitch.conf
cp /etc/nsswitch.conf /etc/nsswitch.conf.old
Copiamos la configuración del fichero nsswitch.nis a nsswitch.conf
cp /etc/nsswitch.nis /etc/nsswitch.conf
Dentro del fichero tenemos que modificar algunas lineas.
cambiamos
hosts: nis [NOTFOUND=return] files
por
hosts: files nis dns
y cambiamos tambien este parametro
automount: files nis
por
automount: nis files
A continuación creamos la estructura donde vamos a exportar los ficheros de configuración de los usuarios del servidor nis.
mkdir -p /etc/nis/etc/security
dentro de /etc/nis/etc/ copiamos los ficheros: passwd y shadow
cp /etc/passwd /etc/nis/etc/
cp /etc/shadow /etc/nis/etc/
Editamos el fichero /etc/nis/etc/passwd y borramos todos los usuarios del sistema (root,daemon,bin,sys,adm,lp,uucp,nuucp,smmsp,listen,gdm,webservd,nobody,noaccess,nobody4)
cd /etc/nis/etc
vi passwd
Editar cada entrada de usuario, contraseña eliminar el marcador de posición (“x” en el segundo campo) y su sustitución por dos hashes y el nombre de usuario. Ejemplo:
operador:##operador:100:1::/export/home/operador:bin/bash
Para no hacerlo de uno en uno…
hacemos una copia
cp passwd passwd.orig
y editamos el fichero con un awk
nawk -F “:” ’{printf “% s: # #% s:% s:% s:% s:% s:% s \ n “, $ 1, $ 1, $ 3, $ 4, $ 5, $ 6, $ 7}’ passwd.orig > passwd
Generamos el archivo passwd.adjunct
nawk -F ”:” ’{printf “% s:% s ::::: \ n”, $ 1, $ 2}’ passwd.orig > security/passwd.adjunct
Modificamos el archivo Makefile.
cd /var/yp
vi Makefile
Buscamos la siguiente linea y la cambiamos:
PWDIR = /etc
por
PWDIR = /etc/nis/etc
También modificamos la siguiente linea:
c2secure: -@if [ -f $(PWDIR)/security/passwd.adjunct ]; then \ if [ ! $(NOPUSH) ]; then $(MAKE) $(MFLAGS) -k \ passwd.adjunct.time group.adjunct.time; \ else $(MAKE) $(MFLAGS) -k NOPUSH=$(NOPUSH) \ passwd.adjunct.time group.adjunct.time; \ fi; \ fi
por
c2secure: -@if [ -f $(PWDIR)/security/passwd.adjunct ]; then \ if [ ! $(NOPUSH) ]; then $(MAKE) $(MFLAGS) -k \ passwd.adjunct.time; \ else $(MAKE) $(MFLAGS) -k NOPUSH=$(NOPUSH) \ passwd.adjunct.time; \ fi; \ fi
Borramos también todos los usuarios que no son necesarios en el fichero /etc/nis/etc/shadow
(root,daemon,bin,sys,adm,lp,uucp,nuucp,smmsp,listen,gdm,webservd,nobody,noaccess,nobody4)
Le añadimos un nombre de dominio
domainame red-orbita.es
lo hacemos permanente
domainname > /etc/defaultdomain
Promocionamos como servidor maestro.
/usr/sbin/ypinit -m
Nos preguntara el nombre del servidor y comprobara todos los ficheros y la configuración por si hubiese algún fallo.
para comprobar que este todo correcto basta con poner:
ypwhich
y si queremos ver los usuarios
ycat passwd
Un saludo, rokitoh!