Columnas

Migración masiva de usuarios en Linux

Para los casos en los que sea necesario replicar los usuarios de un servidor Linux a otro o en los que se vaya a migrar a un servidor con más recursos, el siguiente procedimiento puede ser de utilidad.

Los escenarios son varios, desde los servidores que ejecutan algún tipo de base de datos, los que tienen ciertas aplicaciones, los que alojan páginas Web, etcétera. Para fines de la demostración pensaremos que el servidor está dedicado como servidor de archivos, mismos que se almacenan en el home de cada uno de los usuarios.

NOTA: El presente procedimiento da por hecho que se hayan realizado las configuraciones necesarias en el nuevo servidor.

Primero, lo que debe respaldarse es la lista de usuarios con su respectiva contraseña.

El archivo /etc/passwd contiene las cuentas de los usuarios en el sistema bajo el siguiente formato de ejemplo:

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/

nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

nitsuga:x:500:500::/home/nitsuga:/bin/bash

nitsuga2:x:501:501::/home/nitsuga2:/bin/bash

nitsuga3:x:502:502::/home/nitsuga3:/bin/bash

Como se observa, el segundo campo respectivo al hash de la contraseña no se muestra. La contraseña se encuentra en el archivo /etc/shadow

root:$1$/7zmwgAa$Jd5ja7nsC4nTm

O3s0.Z1j1:13445:0:99999:7:::

bin:*:13445:0:99999:7:::

daemon:*:13445:0:99999:7:::

adm:*:13445:0:99999:7:::

nitsuga:$1$QwPqN0Vc$dn9OIyE3HQUh5W4Yh/.aQ.:13498:2:1:1:::

nitsuga2:$1$635CQht0$rFIbilzKqfc1zStqeOwlk/:13496:2:45:7:::

nitsuga3:$1$635CQht0$rFIbilzKqfc1zStqeOwlk/:13496:2:45:7:::

Se procederá a unir el usuario con su contraseña utilizando el comando “pwunconv” para “desactivar” el shadow, quedando así las contraseñas en el archivo passwd.

root:$1$/7zmwgAa$Jd5ja7nsC4n

TmO3s0.Z1j1:0:0:root:/root:/bin/bash

bin:*:1:1:bin:/bin:/sbin/nologin

daemon:*:2:2:daemon:/sbin:/sbin/

nologin

adm:*:3:4:adm:/var/adm:/sbin/nologin

nitsuga:$1$QwPqN0Vc$dn9OIyE3HQUh5W4Yh/.aQ.:500:500::/home/

nitsuga:/bin/bash

nitsuga2:$1$635CQht0$rFIbilzKqfc1zStqeOwlk/:501:501::/home/nitsuga2:/bin/bash

nitsuga3:$1$635CQht0$rFIbilzKqfc1zStqeOwlk/:502:502::/home/nitsuga3:/bin/bash

Depuración de /etc/passwd

Se copiará el archivo /etc/passwd a uno de trabajo /etc/passwd.migracion. Ahora se editará el archivo y se quitarán todos los usuarios propios del sistema (root, usuarios de demonios, etcétera) dejando sólo los usuarios que van a ser autenticados.

nitsuga:$1$QwPqN0Vc$dn9OIyE3HQUh5W4Yh/.aQ.:500:500::/home/nitsuga:/bin/bash

nitsuga2:$1$635CQht0$rFIbilzKqfc1zStqeOwlk/:501:501::/home/nitsuga2:/bin/bash

nitsuga3:$1$635CQht0$rFIbilzKqfc1zStqeOwlk/:502:502::/home/nitsuga2:/bin/bash

También se copiará el archivo /etc/group a /etc/group.migracion

root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

sys:x:3:root,bin,adm

adm:x:4:root,adm,daemon

nitsuga:x:500:

nitsuga2:x:501:

nitsuga3:x:502:

nitsuga8:x:507:

Y se editará para dejar sólo los grupos de los usuarios:

nitsuga:x:500:

nitsuga2:x:501:

nitsuga3:x:502:

Ahora se respaldará el home de los usuarios, suponiendo que se encuentra bajo el directorio/home, se hará lo siguiente desde raíz (/):

[root@localhost /]# tar -cpzvf home.tgz home/

En el que las banderas:

c = crea el archivo

p = preserva los permisos

z = comprime el archivo .tar generado

v = da salida detallada

f = especifica el archivo a crear (para este caso home.tgz)

Ahora bien, se realizará la transferencia de los archivos home.tgz, passwd.migracion y group.migracion al nuevo servidor:

[root@localhost /]# scp /home.tgz root@nuevoservidor

[root@localhost /]# scp /etc/passwd.migracion root@nuevoservidor

[root@localhost /]# scp /etc/group.migracion root@nuevoservidor

Una vez en el nuevo servidor se deberá verificar que no se repitan tanto los UID como los GID entre los dos servidores.

Se realizará:

[root@localhost /]# cp –p home.tgz / ; tar –zxvf home.tgz

[root@localhost /]# cp –p passwd.migracion /etc ; pwunconv ; cat passwd.migracion >> passwd; pwconv

[root@localhost /]# cp –p group.migracion /etc ; cat group.migracion >> group

Publicaciones relacionadas

Botón volver arriba


Share via
Copy link
Powered by Social Snap