[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Perfiles móviles con NFS y NIS

El siguiente CÓMO describe la configuración de los perfiles móviles usando Slackware Linux. Los perfiles móviles son útiles en configuraciones como redes SOHO, escuelas, ayuntamientos o, en general, en cualquier red donde muchos usuarios tienen que trabajar en muchos clientes de escritorio diferentes.

  • Todos los datos y preferencias de los usuarios se almacenan centralmente en el servidor.
  • La autenticación también está centralizada, por lo que un nuevo usuario solo se crea una vez en el servidor.
  • Cualquier usuario puede conectarse a cualquier cliente de escritorio y recuperar inmediatamente sus archivos, preferencias de escritorio, fondo de pantalla personal, marcadores, etc.

Requisitos previos

La autenticación centralizada requiere que todas las máquinas (clientes de servidor y de escritorio) estén perfectamente sincronizadas. Eche un vistazo a NTP HOWTO para ver cómo se puede hacer esto.

Configure the server

Defina puertos estáticos para NFS y NIS

Queremos usar NFS y NIS con un firewall, por lo que lo primero que hacemos es asignar puertos estáticos a sus respectivos servicios. El paso a continuación no es estrictamente necesario, pero para hacer las cosas correctamente, anotaremos todos los puertos elegidos en /etc/services , al final del archivo:

...
# Static ports for NIS
ypserv    834/tcp    # NIS server
ypserv    834/udp    # NIS server

# Static ports for NFS
statd     32765/tcp  # NFS statd (in)
statd     32765/udp  # NFS statd (in)
statd     32766/tcp  # NFS statd (out)
statd     32766/udp  # NFS statd (out)
mountd    32767/tcp  # NFS mountd
mountd    32767/udp  # NFS mountd
lockd     32768/tcp  # NFS lockd
lockd     32768/udp  # NFS lockd
rquotad   32769/tcp  # NFS mountd
rquotad   32769/udp  # NFS mountd
No olvide abrir estos puertos en el firewall. Este es un error más común de lo que piensas.

Edite /etc/rc.d/rc.rpc para asignar puertos estáticos para statd :

...
  if ! ps axc | grep -q rpc.statd ; then
    echo "Starting RPC NSM (Network Status Monitor):  /sbin/rpc.statd"
    /sbin/rpc.statd --port 32765 --outgoing-port 32766
  fi
...

Los puertos para rquotad y mountd se pueden definir en /etc/rc.d/rc.nfsd :

...
  if [ -x /usr/sbin/rpc.rquotad ]; then
    echo "  /usr/sbin/rpc.rquotad"
    /usr/sbin/rpc.rquotad --port 32769
  fi
...
  if [ -x /usr/sbin/rpc.mountd ]; then
    echo "  /usr/sbin/rpc.mountd"
    /usr/sbin/rpc.mountd --port 32767
  fi
...

Por último, pero no menos importante, cree /etc/sysctl.conf para asignar puertos a lockd :

fs.nfs.nlm_tcpport=32768
fs.nfs.nlm_udpport=32768

Esta última opción solo será efectiva después de reiniciar el servidor.

Compartir los directorios personales de los usuarios con NFS

Edite /etc/exports para definir sus recursos compartidos NFS. En el siguiente ejemplo, /home se comparte para toda la subred 192.168.2.0/255.255.255.0:

/home 192.168.2.0/24(rw,async,no_subtree_check)

Ejecutar:

# exportfs -a
# chmod 0755 /etc/rc.d/rc.rpc
# chmod 0755 /etc/rc.d/rc.nfsd

Reinicie el servidor y verifique si todos los servicios están activados y use los puertos correctos:

# pmap_dump 
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32765  status
    100024    1   tcp  32765  status
    100011    1   udp  32769  rquotad
    100011    2   udp  32769  rquotad
    100011    1   tcp  32769  rquotad
    100011    2   tcp  32769  rquotad
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100021    1   udp  32768  nlockmgr
    100021    3   udp  32768  nlockmgr
    100021    4   udp  32768  nlockmgr
    100021    1   tcp  32768  nlockmgr
    100021    3   tcp  32768  nlockmgr
    100021    4   tcp  32768  nlockmgr
    100005    1   udp  32767  mountd
    100005    1   tcp  32767  mountd
    100005    2   udp  32767  mountd
    100005    2   tcp  32767  mountd
    100005    3   udp  32767  mountd
    100005    3   tcp  32767  mountd

Configuración de la autenticación centralizada con NIS

Slackware64 tiene un error en yptools , que puede corregirse así:

# cd /usr/lib
# ln -s /usr/lib64/yp .
Este error se ha corregido en Slackware64 14.0

Defina un dominio NIS creando y / o editando /etc/defaultdomain . Encontrar un nombre de dominio apropiado es una mera convención. En el siguiente ejemplo, este es el servidor NIS de mi compañía (“Montpezat” es una pequeña ciudad en el sur de Francia):

microlinux.montpezat

Edite /etc/yp.conf para que el servidor se convierta en su propio cliente NIS:

domain microlinux.montpezat server localhost

Descomente las líneas relevantes en /etc/rc.d/rc.yp , el script de inicio de NIS, y defina el uso de puertos estáticos para ypserv :

if [ -r /etc/defaultdomain ]; then
  nisdomainname `cat /etc/defaultdomain`
fi

if [ -x /usr/sbin/ypserv ]; then
  echo "Starting NIS server:  /usr/sbin/ypserv"
  /usr/sbin/ypserv --port 834
fi

if [ -x /usr/sbin/rpc.yppasswdd ]; then
  echo "Starting NIS master password server:  /usr/sbin/rpc.yppasswdd"
  /usr/sbin/rpc.yppasswdd
fi

if [ -d /var/yp ]; then
  echo "Starting NIS services:  /usr/sbin/ypbind -broadcast"
  /usr/sbin/ypbind -broadcast
fi

En una instalación predeterminada de Slackware, este script ya está activado. Tenga en cuenta que necesita que /etc/rc.d/rc.rpc se inicie anteriormente.

# /etc/rc.d/rc.yp start

Continúe con algunos ajustes en /var/yp/Makefile :

  • el valor de MINGID debe modificarse de 500 a 1 .
  • los valores para MERGE_PASSWD y MERGE_GROUP cambian de true a false .
  • La opción publickey tiene que ser desactivada.

Así es como se edita el archivo en consecuencia:

...
MINGID=1
...
MERGE_PASSWD=false
MERGE_GROUP=false
...
all:  passwd group hosts rpc services netid protocols netgrp mail \
  shadow # publickey networks ethers bootparams printcap \
  # amd.home auto.master auto.home auto.local passwd.adjunct \
  # timezone locale netmasks
...

Inicialice el dominio NIS:

# /usr/lib/yp/ypinit -m

De ahora en adelante, agregar uno o más usuarios nuevos se puede hacer como de costumbre con los comandos “adduser” o “useradd”, pero hay un paso adicional involucrado. Para que se tengan en cuenta los nuevos usuarios, emita los siguientes comandos:

# cd /var/yp
# make

Configure the client(s)

Montar los directorios de inicio de usuario compartidos

En el lado del cliente, limpiaremos / home , que será nuestro punto de montaje para los recursos compartidos NFS de los servidores. Una instalación Slackware vanilla contiene un directorio / home / ftp , del cual eliminaremos:

# rmdir /home/ftp

Inicie /etc/rc.d/rc.rpc e intente montar los recursos compartidos manualmente. En el siguiente ejemplo, nestor es el servidor de mi empresa. Reemplace este valor con el nombre de host o la dirección IP de su servidor:

# chmod 0755 /etc/rc.d/rc.rpc
# /etc/rc.d/rc.rpc start
# mount -t nfs nestor:/home /home
# ls /home
# umount /home

Una vez que este paso haya tenido éxito, defina un montaje NFS permanente en /etc/fstab . De nuevo, reemplace nestor por el nombre de host o la dirección IP de sus servidores:

...
nestor:/home /home nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Configure el cliente para usar el servidor NIS para la autenticación

Como se indicó anteriormente, las versiones de Slackware64 anteriores a 14.0 contienen un error en “yptools”, que puede solucionarse de la siguiente manera:

# cd /usr/lib
# ln -s /usr/lib64/yp .

Defina el dominio NIS como lo hizo en el servidor, creando y/o editando /etc/defaultdomain :

microlinux.montpezat

Defina el servidor NIS editando /etc/yp.conf :

domain microlinux.montpezat server nestor

Modifique /etc/nsswitch.conf para que se vea así:

passwd:     files nis
shadow:     files nis
group:      files nis
hosts:      files dns nis
networks:   files
services:   files
protocols:  files
rpc:        files
ethers:     files
netmasks:   files
netgroup:   files
bootparams: files
automount:  files
aliases:    files

Para iniciar NIS en el cliente, elimine el comentario de las líneas relevantes en el script de inicio /etc/rc.d/rc.yp :

...
if [ -r /etc/defaultdomain ]; then
  nisdomainname `cat /etc/defaultdomain`
fi
...
if [ -d /var/yp ]; then
  echo "Starting NIS services:  /usr/sbin/ypbind -broadcast"
  /usr/sbin/ypbind -broadcast
fi
...
En una instalación vanilla, no hay activación ( chmod 0755 /etc/rc.d/rc.yp ), ya que el script ya está activado.

Reinicie el cliente y verifique si los usuarios definidos en el servidor pueden conectarse.

Predeterminar los clientes a “init 3” hasta que se realicen todas las pruebas y la depuración. Una vez que todo funcione bien, cambie a “init 4”.

Fuentes

 es:howtos:network_services:roaming_profiles ()