Categories: ArticulosHowtoLinux

Migracion y Backup de cuentas de usuario en Linux

Si estan buscando como mover, migrar o crear backups de las cuentas de usuarios de un viejo sistema Linux a uno nuevo, han llegado al lugar indicado. Precisamente en estos momentos estoy virtualizando varios servidores fisicos (dos NT 4, un WinXP y un Debian) en un nuevo servidor con mas capacidad y redundancia.

La virtualizacion de los servidores windows fue de lo mas facil con la ayuda de VMWare Converter, solo point and clic. En cambio con el servidor de Linux Debian que quiero mover no sera asi de facil ya que el VMWare Converter aun no soporta la virtualizacion automatica de sistemas Linux.

Dicho esto, manos a la obra….

Este howto se puede utlizar con distribuciones Redhat/Cent OS, Debian y Ubuntu. Recordemos que el sistema objetivo tiene que ser una instalacion fresca,

Todo lo que necesitamos para migrar los usuarios de nuestro linux viejo a una nueva instalacion son los comandos tar, awk, scp y otros. Este manual tambien es util si estan utilizando distribuciones de Linux tales como, Redhat 9 o Debian 2.x.

Debemos hacer un backup de los archivos de administracion de usuarios de Linux, los cuales son los siguientes:

  • /etc/passwd – contiene la informacion de todas las cuentas de los usuarios del sistema.
  • /etc/shadow – contiene las contraseñas encriptadas para cada usuario y opcionalmente la caducidad de las mismas.
  • /etc/group – define los grupos a los cuales pertenecen los usuarios.
  • /etc/gshadow – archivo shadow de los grupos contiene las contraseñas encriptadas para cada grupo
  • /var/spool/mail – En algunas configuraciones los correos de los usuarios son guardados aca.
  • /home – Este directorio contiene un subdirectorio por cada usuario del sistema donde se guardan todos sus archivos.

Sistema Linux Original

Los comandos descritos a continuacion deben ser tecleados en el servidor que contiene toda la informacion de nuestros usuarios.
Primero creamos un tarball de backup siguiendo estos pasos:


deathbian.old:~# mkdir /root/migracion/

Ahora definimos un filtro para el limite del UID, 500 para Redhats y CentOS y 1000 para Debian y Ubuntus


deathbian.old:~# export UGIDLIMIT=500

Ahora copiamos el archivo /etc/passwd de las cuentas a /root/migracion/passwd.mig utilizando el comando awk para filtrar las cuentas de servicios del sistema


deathbian.old:~# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/passwd > /root/migracion/passwd.mig

Copiar archivo /etc/group:


deathbian.old:~# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/group > /root/migracion/group.mig

Copiar archivo /etc/shadow:


deathbian.old:~# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /root/migracion/shadow.mig

Copiar archivo /etc/gshadow si acaso existe el archivo:


deathbian.old:~# cp /etc/gshadow /root/migracion/gshadow.mig

Hagamos el backup del home de los usuarios y sus correos:


deathbian.old:~# tar -zcvpf /root/migracion/home.tar.gz /home
deathbian.old:~# tar -zcvpf /root/migracion/mail.tar.gz /var/spool/mail

Donde,

  • Los usuarios que son agregados al sistema Linux siempre empiezan con un valor UID y GID unicos, los cuales estan especificados por la propia distribucion Linux o por el administrador.
    Limites segun diferentes distros de Linux:
    • RHEL/CentOS/Fedora Core : El default es de 500 con un limite superior de 65534 /etc/libuser.conf.
    • Debian, Knoppix y Ubuntu: El default es de 1000 con un limite superior de 29999 /etc/adduser.conf.
  • En el sistema recien instalado no deberiamos crear ninguna nueva cuenta de usuario. Ya que el comando awk utilizado filtra los UID segun la distro.
  • export UGIDLIMIT=500 – Dependiendo de nuestra distribucion de Linux, vamos a asignar el valor inicial del UID para cuentas de usuarios normales.
  • awk -v LIMIT=$UGIDLIMIT -F: ‘($3>=LIMIT) && ($3!=65534)’ /etc/passwd > /root/migracion/passwd.mig – Es necesario pasar el valor de la variable UGIDLIMIT al awk usando la opcion -v option (la cual asigna el valor de la variable del shell UGIDLIMIT a la variable LIMIT del programa awk). La opcion -F: determina el separador de campos : . Finalmente awk lee cada linea desde /etc/passwd, filtra las cuentas de systema y genera un nuevo archivo llamado /root/migracion/passwd.mig. La misma logica se aplica para el resto de comandos awk.
  • tar -zcvpf /root/migracion/home.tar.gz /home – Hace una copia de seguridad del directorio /home de los usuarios
  • tar -zcvpf /root/migracion/mail.tar.gz /var/spool/mail – Hace una copia de seguridad del directorio de correos de los usuarios.

Pueden usar scp, una memoria usb o otro medio para copiar /root/migracion al nuevo sistema Linux.
deathbian.old:~# scp -r /root/migracion/ usuario@nuevo.servidor.com:/root/

Importanto las cuentas en el nuevo sistema

Antes que nada, hacemos una copia de los usuarios y contraseñas actuales:

nuevo.linux.:~# mkdir /root/users.bk
nuevo.linux.:~# cp /etc/passwd /etc/shadow /etc/group /etc/gshadow /root/users.bk

Ahora restauramos passwd y otros archivos en /etc/

nuevo.linux.:~# cd /root/migracion/
nuevo.linux.:~# cat passwd.mig >> /etc/passwd
nuevo.linux.:~# cat group.mig >> /etc/group
nuevo.linux.:~# cat shadow.mig >> /etc/shadow
nuevo.linux.:~# /bin/cp gshadow.mig /etc/gshadow
Nota: Les recuerdo que es necesario utilizar >> (append) y no > (create) en la redireccion del shell.

Ahora copiamos y extraemos el archivo home.tar.gz en el /home del nuevo servidor

# cd /
nuevo.linux.:~# tar -zxvf /root/migracion/home.tar.gz

Ahora copiamos y extraemos el archivo mail.tar.gz (Correos) dentro de /var/spool/mail del nuevo servidor

nuevo.linux.:~# cd /
nuevo.linux.:~# tar -zxvf /path/to/location/mail.tar.gz

Ahora reiniciamos el sistema; cuando el sistema Linux vuelva a cargar, todas las cuentas de usuarios deberian de funcionar como en el sistema viejo:

nuevo.linux.:~# shutdown -r now
Linux Gratis

No soy un asesor financiero y la información que proporciono es solo para fines educativos e informativos. No brindo asesoramiento de inversión y cualquier decisión que tome con respecto a sus inversiones es suya. Consulte a un asesor financiero autorizado antes de tomar cualquier decisión de inversión. El valor de las criptomonedas puede ser volátil e invertir en ellas implica un riesgo significativo. Debe considerar cuidadosamente su propia situación financiera y tolerancia al riesgo antes de tomar cualquier decisión de inversión. No garantizo la exactitud o integridad de la información proporcionada y no soy responsable de ninguna pérdida o daño que pueda resultar del uso de esta información.

Disqus Comments Loading...

Recent Posts

Más Allá de la Teoría: Estudiantes en la Vanguardia de Lightning Network 2023

En el ámbito de la informática y la cadena de bloques, el conocimiento teórico a…

6 meses ago

Un Análisis Detallado del Informe de Crimen Cripto 2023: Una Guía para Principiantes

El emergente dominio de las criptomonedas ha cautivado la imaginación colectiva por su potencial para…

7 meses ago

Capital de Riesgo en Cripto: Sobreviviendo y Prosperando en un Mercado Bajista

En el siempre evolucionante mundo de las criptomonedas, el capital de riesgo (VC) ha encontrado…

7 meses ago

Bitcoin, divisas y criptomonedas: Potencial y perspectivas | Análisis 2023

?? Resumen video : Gareth Soloway Bitcoin, prepárate para lo que viene Introducción El mercado…

12 meses ago

El desmoronamiento de Silicon Valley Bank: la crisis bancaria del 2023

En marzo de 2023, el mundo financiero se vio sacudido por el repentino colapso de…

1 año ago

SegWit – Bitcoin Segregated Witness

A medida que Bitcoin continúa ganando popularidad y reconocimiento, aumenta la necesidad de escalabilidad y…

1 año ago