Cambiar el UID y el GID de un usuario puede parecer una tarea trivial para la mayoría de los administradores del sistema. Pero no es tan trivial e implica muchos más cambios en el backend. En esta publicación, describimos los pasos exactos para cambiar el UID y el GID de un usuario "usuario01".
Username: user01 Group: group01 Existing UID: 800 Existing GID: 700 New UID: 900 New GID: 600
Requisitos previos
1. Asegúrese de que el usuario para el que se va a cambiar el UID y el GID no tenga actualmente ningún proceso activo ejecutándose en el sistema. Para verificar el mismo uso del comando "ps". Por ejemplo:
# ps -ef | grep user01 # ps -ef | grep 800Nota :En el comando “ps -ef” se muestran los UID. Así que asegúrese de buscar el UID y el nombre de usuario del usuario.
2. Tome la copia de seguridad de los archivos importantes donde se almacena la información relacionada con UID y GID. es decir, /etc/passwd y /etc/grupo .
# cp -p /etc/passwd /etc/passwd.bkp # cp -p /etc/group /etc/group.bkp
3. Verifique el UID y el GID existentes del usuario mediante el comando "id":
# id user01 uid=800(user01) gid=700(group01) groups=700(group01)
Modificar el UID y GID del usuario y grupo
Una vez que haya realizado las copias de seguridad necesarias y las salidas de comando, podemos continuar y cambiar el UID y el GID.
1. Primero cambie el GID del grupo, group01:
# groupmod -g 600 group01
2. A continuación, cambie también el UID y el GID del usuario, usuario01:
# usermod -u 900 -g 600 user01
3. Verificar el nuevo UID y GID del usuario:
# id user01 uid=900(user01) gid=600(group01) groups=600(group01)
Advertencias
1. Si hay varios usuarios en el grupo "group01", después de cambiar el GID del grupo, deberá modificar los otros usuarios junto con el usuario01 como se muestra arriba.
2. Una vez que haya cambiado el UID y el GID, también deberá cambiar los permisos de los archivos propiedad del usuario/grupo. Pero el comando chown también restablece el SETUID y el SETGID de los archivos, por lo que deberá cambiar manualmente los permisos de estos archivos más adelante. Para encontrar dichos archivos:
# find / -uid 900 -perm /6000 -ls # find / -gid 900 -perm /6000 -ls
3. Para encontrar los archivos propiedad de usuario01 y grupo01 y cambiar sus permisos:
# find / -uid 800 -exec chown -v -h 900 '{}' \; # find / -gid 700 -exec chgrp -v 600 '{}' \;
El -h La opción también se usa para cambiar los permisos de los enlaces simbólicos.