Aprenda a cambiar UID o GID de forma segura en Linux. Además, sepa cómo cambiar el UID entre dos usuarios y el GID entre dos grupos sin afectar la propiedad de los archivos que poseen.
En este artículo, lo guiaremos para cambiar el UID o GID de los usuarios o grupos existentes sin afectar la propiedad de los archivos de su propiedad. Más adelante, también explicamos cómo cambiar el GID entre dos grupos y cómo cambiar el UID entre dos usuarios en el sistema sin afectar la propiedad de los archivos de su propiedad.
Empecemos por cambiar el UID o GID en el sistema.
Escenario actual:
Usuario shrikant con UID 1001
Administrador de sistemas de grupo con GID 2001
Escenario esperado:
Usuario shrikant con UID 3001
Administrador de sistemas de grupo con GID 4001
Cambiar GID y UID es simple usando el comando usermod o groupmod, pero debe tener en cuenta que después de cambiar UID o GID, debe cambiar la propiedad de todos los archivos de su propiedad manualmente, ya que el kernel conoce la propiedad del archivo por GID y UID, no por nombre de usuario.
El procedimiento será –
Cambie UID o GID como se muestra a continuación:
root@kerneltalks # usermod -u 3001 shrikant root@kerneltalks # groupmod -g 4001 sysadmin
Ahora, busque y cambie la propiedad de todos los archivos propiedad de este usuario o grupo con for loop
root@kerneltalks # for i in `find / -user 1001`; do chown 3001 $i; done root@kerneltalks # for i in `find / -group 2001`; do chgrp 4001 $i; done OR root@kerneltalks # find / -user 1001 -exec chown -h shrikant {} \; root@kerneltalks # find / -group 2001 -exec chgrp -h sysadmin {} \;
Eso es todo. ¡Ha cambiado UID y GID de forma segura en su sistema sin afectar la propiedad de ningún archivo de su propiedad!
Cómo cambiar GID de dos grupos
Escenario actual:
Administrador de sistemas de grupo con GID 1111
Grupo oráculo con GID 2222
Escenario esperado:
Administrador de sistemas de grupo con GID 2222
Oráculo de grupo con GID 1111
En la situación anterior, necesitamos usar un GID intermedio que actualmente no esté en uso en su sistema. Verifique el archivo /etc/group y seleccione un GID XXXX que no esté presente en un archivo. En nuestro ejemplo, tomamos 9999 como GID intermedio.
Ahora, el proceso es simple:
- Cambiar el GID del administrador del sistema a 9999
- Encuentre y cambie el grupo de todos los archivos propiedad de GID 1111 a sysadmin
- Cambiar el GID de Oracle a 1111
- Encuentre y cambie el grupo de todos los archivos propiedad de GID 2222 a Oracle
- Cambiar el GID del administrador del sistema a 2222
- Encuentre y cambie el grupo de todos los archivos propiedad de GID 9999 a sysadmin
La lista de comandos para los pasos anteriores son –
root@kerneltalks # groupmod -g 9999 sysadmin root@kerneltalks # find / -group 1111 -exec chgrp -h sysadmin {} \; root@kerneltalks # groupmod -g 1111 oracle root@kerneltalks # find / -group 2222 -exec chgrp -h oracle {} \; root@kerneltalks # groupmod -g 2222 sysadmin root@kerneltalks # find / -group 9999 -exec chgrp -h sysadmin {} \;
Cómo cambiar el UID de dos usuarios
Se puede hacer de la misma manera que cambiamos el GID arriba usando el UID intermedio.