Estás en: Página principal > Artículos > Hazlo tú mismo > Centralizar en un servidor
Cuando tenemos una red de ordenadores, suele ser para compartir impresoras o directorios. Con esto ya podemos ir a otro ordenador de la red y continuar trabajando con un documento nuestro, siempre que lo hayamos metido previamente en el directorio compartido. Ésto se puede mejorar: si tenemos un ordenador que actúa de servidor, que está siempre encendido, que tiene las impresoras y documentos compartidos, podemos sacarle más provecho si centralizamos la gestión de los usuarios y guardamos todos los documentos en el servidor, que además nos simplificará la tarea de las copias de seguridad.
Esta centralización la podemos conseguir en Linux/Unix con NIS y NFS. Es algo parecido a lo que en Windows sería Directorio Activo (Active Directory) con perfiles móviles o IntelliMirror, pero realmente mientras tuve Windows y los perfiles móviles nunca estuve del todo contento, por problemas como borrar un archivo, ir a otro ordenador y ahí volvía a aparecer...
No puedo comprobar paso por paso lo que pongo aquí, porque por ejemplo ahora no uso NIS, estoy usando OpenLDAP (otro servicio de directorio) más que nada por probar. Esta información es la que guardo de cuando hice mi instalación, si algo va mal por favor házmelo saber.
Network Information Service (servicio de información de red), antiguamente llamado "Yellow Pages" (páginas amarillas), es un servicio de directorio desarrollado por Sun Microsystems pero que se puede encontrar en cualquier Unix o Linux. Es una base de datos con los usuarios, grupos, hosts... de la red, que es consultado por los clientes.
Instalación en Debian:
svrzubione:/# apt-get install nis
Nos pedirá el nombre del dominio, inventa un nombre, en mi caso zubitxo
.
Añadimos en /etc/defaultdomain
el nombre de dominio que hayas puesto:
svrzubione:/# cat /etc/defaultdomain zubitxo
En /etc/default/nis
ponemos NISSERVER=master
:
svrzubione:/# cat /etc/default/nis ... # NIS master server. If this is configured on a slave server then ypinit # will be run each time NIS is started. NISMASTER=master ...
Ajustamos /etc/ypserv.securenets
a los rangos de IPs de nuestra red, y comentar o eliminar la línea que considera de nuestra red a todas las IPs:
svrzubione:/# cat /etc/ypserv.securenets ... # Always allow access for localhost 255.0.0.0 127.0.0.0 # This line gives access to everybody. PLEASE ADJUST! #0.0.0.0 0.0.0.0 # Nuestra red 255.255.255.0 192.168.0.0
Para configurar el servidor ejecutamos:
svrzubione:/# /usr/lib/yp/ypinit -m
Reiniciamos el servidor:
svrzubione:/# /etc/init.d/nis stop svrzubione:/# /etc/init.d/nis start
Lo instalamos como en el servidor:
cliente1:/# apt-get install nis
Ponemos el dominio que hemos configurado en el servidor.
Con eso ya está instalado y configurado NIS en el cliente. Pero tenemos que configurar el sistema operativo para que pregunte por los usuarios también a NIS, y no solo a los ficheros locales que guardan la lista de usuarios locales. Esto se hace configurando /etc/nsswitch.conf
, hay que sustituir files
por compat
:
cliente1:/# cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat group: compat shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
En este fichero es donde se indican qué bases de datos (files, nis, dns...) tiene que consultar el sistema para obtener información de diferentes servicios (passwd, group, hosts...). En redes donde no hay un servidor dns (no es el caso del ejemplo), puede ser útil usar NIS para obtener esa información, para eso hay que sustituir:
hosts: files dns
por:
hosts: files nis
compat
es algo así como files nis
que consulta a los ficheros locales y a NIS, pero que por unos problemas con shadow no se recomienda usar.
Para comprobar que funciona, se usa el comando getent passwd
para listar los usuarios y getent group
para los grupos. Lanzando estos comandos deberían aparecer los usuarios locales y los del dominio.
Ahora que las cuentas de usuario están en el servidor, hay que ir al servidor a agregar un usuario, se agrega con los comandos habituales useradd
, adduser
u otras herramientas del entorno gráfico:
svrzubione:/# useradd -g usuarios nombre_de_usuario
Asignamos una contraseña:
svrzubione:/# passwd nombre_de_usuario Changing password for user nombre_de_usuario. New password: Retype new password: passwd: all authentication tokens updated successfully.
Y la parte adicional para NIS:
svrzubione:/# cd /var/yp svrzubione:/var/yp# make gmake[1]: Entering directory `/var/yp/NIS-HOME-NETWORK' Updating passwd.byname... Updating passwd.byuid... Updating netid.byname... gmake[1]: Leaving directory `/var/yp/NIS-HOME-NETWORK'
Network File System (sistema de ficheros en red), que también fue desarrollado por Sun, es un sistema de ficheros distribuido que permite a los clientes acceder a ficheros de forma transparente, como si fuesen archivos locales. Su instalación también es muy sencilla en Debian:
Instalación:
svrzubione:/# apt-get install nfs-common nfs-kernel-server
Metemos en /etc/exports
los directorios que queremos compartir, y separados con espacios los rangos de direcciones o nombres a los que se les está permitido usar, y entre parentesis (pegado a lo anterior) las opciones, en este caso: rw
- lectura y escritura, sync
- el servidor avisa al cliente de que la petición se ha realizado sólo cuando ha terminado de escribir en disco (mayor seguridad):
svrzubione:/# cat /etc/exports # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). /export/publico *.zubitxo(rw,sync) /home *.zubitxo(rw,sync)
Refrescamos los directorios compartidos con el comando:
svrzubione:/# exportfs -rv
Instalación:
cliente1:/# apt-get install nfs-common
En el fichero /etc/fstab
están los puntos de montaje, vamos a añadir /home
por NFS, a mí se me queda así:
cliente1:/# cat /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda2 / ext3 defaults,errors=remount-ro 0 1 #/dev/hda5 /home ext3 defaults 0 2 svrzubione:/home /home nfs defaults 0 2 ...
He añadido svrzubione:/home
, y como ves he comentado /dev/hda5
, porque en mi caso tenía el /home
en una partición diferente. Eso no me pasaba en otros equipos, depende de cómo esté configurado.
Antes de aplicar los cambios y montar las particiones, un comentario: cuando yo puse esto en casa, partía de haber tenido durante bastante tiempo homes diferentes en cada ordenador, por lo tanto tenía documentos repartidos por ahí. A medida que he ido configurando cada cliente he ido copiando los documentos locales al servidor. Si estáis en la misma situación, yo lo hice así:
Creamos un directorio temporal y montamos ahí el home por NFS:
cliente1:/# mkdir home.red cliente1:/# mount svrzubione:/home /home.red
Ahora podemos mover de /home
(documentos locales) a /home.red
(al servidor). Habrá que mover los homes de todos los usuarios, yo he salido de la sesión gráfica y lo he hecho desde la línea de comandos, porque KDE, GNOME y otros programas guardan información en nuestro directorio personal.
cliente1:/# mv /home/* /home.red
Antes de seguir, es mejor asegurarse de que se a movido todo, incluso los ficheros ocultos. Vemos con ls -a
que no hay nada:
cliente1:/# ls -a home . ..
Cuando /home esté vacío, desmontamos /home.red
y /home
, y borramos el directorio home.red
:
cliente1:/# umount home.red home cliente1:/# rmdir home.red
Y montamos todos los sistemas de ficheros según /etc/fstab
:
cliente1:/# mount -a
Con un df
debería aparecer /home
del servidor:
cliente1:/# df S.ficheros Bloques de 1K Usado Dispon Uso% Montado en /dev/hda2 14610964 11013972 2854792 80% / tmpfs 518256 4 518252 1% /dev/shm /dev/hda1 30338328 10697016 19641312 36% /mnt/win /dev/hdb2 2196560 40308 2156252 2% /mnt/libre tmpfs 10240 2848 7392 28% /dev svrzubione:/home 38464344 11824640 24685800 33% /home
Cuando hagamos esto en varios clientes, podremos comprobar cómo todos los documentos, configuración del escritorio, papel tapiz, configuración de programas, correo... se marcha con nosotros de un ordenador a otro.
Última modificación de esta página: 26 de noviembre de 2005
La Web y sus contenidos, mientras no se mencione lo contrario, han sido creados por Aitor Oliveira Fernandez. Este trabajo está licenciado bajo Licencia Creative Commons.