Ayuda memoria: Añadir un usuario en el servidor NIS:
añadimos el usuario linux:
# useradd -g grupousuario usuario
actualizamos bases de datos NIS:
# cd /var/yp
# make
para cambiar password de usuario NIS:
# yppasswd -p usuario
Ayuda memoria: Añadir un usuario en el servidor NIS:
añadimos el usuario linux:
# useradd -g grupousuario usuario
actualizamos bases de datos NIS:
# cd /var/yp
# make
para cambiar password de usuario NIS:
# yppasswd -p usuario
El uso de los home de usuarios centralizados nos da muchisima flexibilidad de administración. A tal punto que los usuarios pueden conectarse y ver sus archivos casi desde cualquier equipo.
En el servidor:
Debemos instalar el nfs:
# yum install nfs-utils
Además debemos tener configurada y habilitada la autenticación de usuarios con NIS o LDAP. Esta configuración ya la describimos en:
https://hvivani.wordpress.com/2010/12/06/autenticacion-de-usuarios-con-ldap-con-ssltsl-instalar-y-configurar-servidor-y-clientes-ldap/
y en:
https://hvivani.wordpress.com/2010/12/06/autenticacion-de-usuarios-con-nis-instalar-y-configurar-servidor-y-clientes-nis/
En el /etc/exports exportamos el /home completo agregando esta linea:
/home 192.168.1.0/255.255.255.0(rw,sync)
Starteamos el servicio y lo configuramos para el arranque automatico:
# service nfs start
# chkconfig –level 2345 nfs on
Verificamos que el directorio exportado sea visible desde los equipos clientes. En cualquiera de ellos hacemos un:
# showmount -e ServidorNFS
Configuración del Firewall en el Servidor NFS:
Si usamos iptables, deberemos abrir el puerto 2049 tcp/udp a fin de acceder a los directorios exportados desde los clientes.
Además, debemos establecer algunos puertos adicionales que normalmente se abren dinámicamente para que se abran de manera estática y poder definirlos en el firewall.
En el archivo /etc/sysconfig/nfs habilitamos las siguientes líneas:
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
Si hacemos un:
# rpcinfo -p ServidorNFS
deberíamos ver algo asi:
program vers proto port service
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 662 status
100024 1 tcp 662 status
100004 2 udp 834 ypserv
100004 1 udp 834 ypserv
100004 2 tcp 834 ypserv
100004 1 tcp 834 ypserv
600100069 1 udp 835 fypxfrd
600100069 1 tcp 835 fypxfrd
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 48320 nlockmgr
100021 3 udp 48320 nlockmgr
100021 4 udp 48320 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 897 mountd
100005 1 tcp 897 mountd
100005 2 udp 897 mountd
100005 2 tcp 897 mountd
100005 3 udp 897 mountd
100005 3 tcp 897 mountd
100009 1 udp 617 yppasswdd
Aquí podemos ver que puertos tiene abiertos cada servicio y si es tcp o udp.
Con esta info, configuramos el firewall (iptables) para abrir estos puertos:
897 tcp/udp, 875 tcp/udp, 662 tcp/udp, etc.
Configuración del cliente:
Por un lado debemos tener habilitada la autenticación por NIS o LDAP, como deciamos al principio, por lo tanto, supongo que configuré (por ejemplo) la autenticación por NIS a través del system-config-authentication estableciendo el dominio NIS y la IP del serividor NIS.
Debemos hacer un rsync de los archivos contenidos en el home del usuario en la maquina cliente para llevarlos al servidor:
# rsync -vah –exclude=”.gvfs” /home/usuario/ usuario@ServidorNFS:/home/usuario/
Instalamos los siguientes paquetes:
# yum install autofs ypbind rpcbind nfs-utils
Renombramos el /home a /home.bak
# mv /home /home.bak
En caso de que el home esté montado en una partición específica en el fstab, comentamos la línea con un #.
Creamos un nuevo home:
# mkdir /home
en el /etc/auto.master agregamos la siguiente linea:
/home /etc/auto.home
creamos un archivo /etc/auto.home con la siguiente linea:
* -fstype=nfs,rw,soft,nosuid ServidorNFS:/home/&
reiniciamos el equipo cliente, ingresamos como root, y hacemos un:
# su – usuario
de algún usuario conocido. Esto debería dejarnos parados en el home remoto del usuario.
Si esto funciona bien, ya podemos reiniciar e ingresar con cualquier usuario del servidor y va a automontarnos el home en el equipo local.
Una consideración importante: En el equipo cliente no deben existir usuarios comunes. Solo root.
Una buena opción para la autenticación de usuarios en una red linux es la utilización de NIS. Aquí vemos detalles de la configuración del servidor y los clientes (Redhat / CentOS / Fedora).
Instalación y Configuración del Servidor NIS:
Instalamos los paquetes necesarios:
# yum install ypbind yp-tools ypserv
En el /etc/yp.conf agregamos la siguiente línea:
ypserver 127.0.0.1
En el /etc/ypserv.conf verificamos que exista la siguiente configuración:
dns: no
files: 30
xfr_check_port: yes
* : * : shadow.byname : port
* : * : passwd.adjunct.byname : port
En el /etc/sysconfig/network agregamos la siguiente línea:
NISDOMAIN=”dominio.net”
Editamos el /var/yp/securenets para definir la red con que trabajamos agregando las siguientes lineas:
host 127.0.0.1
255.255.255.0 192.168.0.0
Reiniciamos servicios portmap e ypserv:
# service portmap restart
# service ypserv restart
y verificamos que el ypserv se inicie al arranque del systema:
# chkconfig –level 2345 ypserv on
para verificar que el programa está funcionando podemos poner:
# rpcinfo -u localhost ypserv y si todo está ok, la respuesta será:
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting
Procedemos ahora a crear los mapas NIS que almacenaran toda la información del servicio:
# /usr/lib/yp/ypinit -m
en plataformas de 64 bits será:
# /usr/lib64/yp/ypinit -m
Este comando solicitará el nombre del servidor NIS y luego regenerará la base de datos NIS de usuarios, grupos, etc. La salida será algo como esto:
At this point, we have to construct a list of the hosts which will run NIS
servers. server0 is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a .
next host to add: server0
next host to add:
The current list of NIS servers looks like this:
server0
Is this correct? [y/n: y] y
We need a few minutes to build the databases…
Building /var/yp/dominio.net/ypservers…
Running /var/yp/Makefile…
gmake[1]: Entering directory `/var/yp/dominio.net’
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/dominio.net’
server0 has been set up as a NIS master server.
Now you can run ypinit -s server0 on all slave server.
Ahora starteamos el resto de los servicios para arrancar el NIS:
# service ypbind start
# service yppasswd start
# service ypxfrd start
Y agregamos estos servicios al arranque:
# chkconfig –level 2345 ypbind on
# chkconfig –level 2345 yppasswdd on
# chkconfig –level 2345 ypxfrd on
Configuración de puertos estáticos para el servidor NIS:
Si tenemos iptables corriendo en el servidor NIS, debemos hacer que la apertura de puertos sea estática.
Agregamos la siguiente línea en el /etc/sysconfig/network:
YPSERV_ARGS=”-p 834″ YPXFRD_ARGS=”-p 835″
Y abrimos los puertos 834 y 835:
iptables -A INPUT -p ALL -s! 192.168.0.0/24 –dport 834 -j DROP iptables -A INPUT -p ALL -s! 192.168.0.0/24 –dport 835 -j DROP
Pruebas:
En el cliente, si hacemos un:
$ ypcat passwd
veremos la info de usuario que está siendo publicada por el servidor NIS.
Otro comando util es:
$ rpcinfo -p servidornis
que nos muestra todos los puertos y protocolos donde está escuchando:
program vers proto port service
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 970 status
100024 1 tcp 973 status
100004 2 udp 834 ypserv
100004 1 udp 834 ypserv
100004 2 tcp 834 ypserv
100004 1 tcp 834 ypserv
600100069 1 udp 835 fypxfrd
600100069 1 tcp 835 fypxfrd
100009 1 udp 944 yppasswdd
Configuración de los clientes:
Los clientes necesitan tener instalado el ypbind y el yp-tools:
# yum install ypbind yp-tools
Editamos el /etc/yp.conf agregando la siguiente linea:
domain dominio.net server 192.168.0.54
Debemos asegurarnos que en el archivo /etc/hosts, están definidos los datos del servidor NIS:
192.168.0.54 server0.dominio.net
Restarteamos el servicio y enlazamos con el servidor:
#service ypbind start