Cómo copiar tu usuario de un servidor Linux a otro

En ocasiones es necesario copiar o migrar tu cuenta de usuario (o la de otro) de un servidor Linux a otro. En este post aprenderás cómo.

Se recomienda leer el post Cómo crear alias de tu usuario en Linux.

Migrar tu usuario

Llamaremos receptor al servidor que recibe al usuario y emisor al que lo envía, <usuario> al usuario que se quiere migrar y <tu usuario> al usuario que lleva a cabo la migración.

Para migrar un usuario:

1. Crea la carpeta /home/<usuario> (necesitarás ser administrador) y asignala como de tu propiedad para poder escribir en ella:

sudo mkdir /home/<usuario>
sudo chown <tu usuario> /home/<usuario>

2. Copia el contenido de la carpeta /home/<usuario> del emisor al receptor:

rsync -avzr /home/<usuario>/* <tu usuario>@<receptor>:/home/<usuario>/

La opción -a copia los ficheros conservando sus atributos.

3. Abre el fichero /etc/passwd del emisor y copia la línea que corresponde al usuario. Pégala en el fichero /etc/passwd del receptor. Esta línea tiene este aspecto:

<usuario>:x:UID:GID:Nombre y Apellidos,,,:/home/<usuario>:/bin/bash

Después de pegar la línea, asegúrate de que ningún otro usuario del receptor tiene el mismo UID o GID. Si coincide, cambia el valor por otro que sea válido (entre 1000 y 29999 en Debian o Ubuntu y entre 500 y 65534 en Fedora o CentOS).

4. Abre el fichero /etc/shadow del emisor y copia la línea que corresponde al usuario. Pégala en el fichero /etc/shadow del receptor. Esta línea tiene este aspecto:

<usuario>:CONTRASEÑA DEL USUARIO ENCRIPTADA:NNNNN:0:99999:7:::

5. Abre el fichero /etc/group del emisor y copia la línea que corresponde al usuario. Pégala en el fichero /etc/group del receptor. Esta línea tiene este aspecto:

<usuario>:x:GID:

Vuelve a cambiar el GID si es necesario.

6. Comprueba si en el fichero /etc/group del emisor si el usuario pertenece a algún otro grupo, por ejemplo, sudo. Estas líneas tienen este aspecto:

migrupo:x:GID:<usuario>,otro_usuario,y_otro,y_otro_mas ...

Si es así, añade al usuario a dicho grupo en el receptor editando /etc/_group. Si el grupo no existe, añadelo copiando la línea correspondiente del receptor y editala para que solo contenga a este usuario. Si es necesario, cambia el GID.

7. Abre el fichero /etc/gshadow del emisor y copia la línea que corresponde al usuario. Pégala en el fichero /etc/gshadow del receptor. Esta línea tiene este aspecto:

<usuario>:!::

8. Comprueba si en el fichero /etc/gshadow del emisor si el usuario pertenece a algún otro grupo, por ejemplo, sudo. Estas líneas tienen este aspecto:

migrupo:*::<usuario>,otro_usuario,y_otro,y_otro_mas ...

Si es así, añade al usuario a dicho grupo en el receptor editando /etc/_gshadow. Si el grupo no existe, añadelo copiando la línea correspondiente del receptor y editala para que solo contenga a este usuario.

9. En el recpetor, asigna al directorio /home/<usuario> como propiedad del usuario migrado:

sudo chown <usuario> /home/<usuario>

Y listo. ¡Ya hemos migrado al usuario!

Ahora puedes autentificarte con esta cuenta usando la misma contraseña que tenía originalmente este usuario.