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.