Un usuario puede ser miembro de un grupo primario y uno o varios grupos secundarios (complementarios) en Linux. El archivo ‘/ etc / group’ define la pertenencia al grupo para cada usuario en el sistema Linux.
En este tutorial, aprenderemos cómo eliminar un usuario de un grupo en Linux. Usaremos dos métodos y también mostraré cómo eliminar manualmente al usuario del grupo eliminando del archivo ‘/ etc / group’.
Crear usuario de Linux
Para el propósito de este tutorial, crearemos un usuario llamado ‘testuser’. Cuando se crea un nuevo usuario, también se crea un nuevo grupo principal con el mismo nombre para ese usuario.
Crearemos un nuevo usuario emitiendo el siguiente comando:
$ sudo useradd -m testuser
Ahora podemos crear una contraseña para ese usuario:
$ sudo passwd testuser
Changing password for user testuser.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
Usé la misma contraseña que el nombre de usuario, por lo que recibí una advertencia de que la contraseña no debería contener el nombre de usuario de alguna forma.
Agregar un usuario a un grupo
Primero, crearemos dos nuevos grupos usando el comando groupadd de la siguiente manera:
$ sudo groupadd testgroup1
$ sudo groupadd testgroup2
Ahora agregaremos el usuario ‘testuser’ a los dos grupos creados anteriormente y también agregaremos al grupo ‘root’ usando los siguientes comandos:
$ sudo usermod -a -G root testuser
$ sudo usermod -a -G testgroup1 testuser
$ sudo usermod -a -G testgroup2 testuser
Bien, ahora si miramos el archivo ‘/ etc / group’ y podemos ver que ‘testuser’ es miembro de los tres grupos.
$ cat /etc/group
root:x:0:testuser
.............
testuser:x:1001:
testgroup1:x:1002:testuser
testgroup2:x:1003:testuser
Descubra los grupos a los que pertenece un usuario
También podemos usar dos formas alternativas para verificar a qué grupos pertenece un usuario de la siguiente manera
$ groups testuser
testuser : testuser testgroup1 testgroup2 root
$ id -nG testuser
testuser testgroup1 testgroup2 root
Como puede ver, la salida es muy similar y esos comandos logran lo mismo.
Eliminar un usuario de un grupo mediante usermod
Podemos eliminar un usuario de un grupo o de varios grupos a la vez usando el comando usermod. Al usar usermod, debe especificar en qué grupos secundarios desea mantener al usuario. Permítame explicarlo con un example.
$ groups testuser
testuser : testuser testgroup1 testgroup2 root
Para eliminar el usuario ‘testuser’ del grupo ‘testgroup1’ y ‘testgroup2’ ejecute el siguiente comando (es decir, deje testuser solo en el grupo ‘root’ y su grupo primario ‘testuser’):
$ sudo usermod -G root testuser
Results
$ groups testuser
testuser : testuser root
Entonces, para mantener a un usuario en más grupos, deberá mencionar los nombres de los grupos separados por comas (,) como:
$ sudo usermod -G root,testgroup1 testuser
Results
# groups testuser
testuser : testuser root testgroup1
Eliminar un usuario de un grupo mediante gpasswd
Otro comando que logra resultados similares es gpasswd. Usamos este comando para eliminar usuarios de grupos específicos, a diferencia de usermod.
Para eliminar un usuario de un grupo específico, podemos usar el comando gpasswd:
$ sudo gpasswd -d testuser root
Removing user testuser from group root
$ groups testuser
testuser : testuser testgroup1 testgroup2
$ sudo gpasswd -d testuser testgroup1
Removing user testuser from group testgroup1
$ groups testuser
testuser : testuser testgroup2
Eliminar usuario de un grupo (manualmente)
También podemos eliminar un usuario de un grupo editando manualmente el archivo ‘/ etc / group’. Los efectos de este método se aplicarán al usuario al reiniciar.
Puede usar su editor de texto favorito para editar el archivo ‘/ etc / group’:
$ cat /etc/group
.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:testuser
testgroup2:x:1003:testuser
$ groups testuser
testuser : testuser testgroup1 testgroup2 root
Ahora editaremos manualmente las dos últimas entradas para eliminar testuser y eliminarlo de testgroup1 y testgroup2 (el archivo editado debería verse así):
$ cat /etc/group
.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:
testgroup2:x:1003:
Los cambios se llevarán a cabo después del reinicio, y ahora el usuario ha sido eliminado de esos dos grupos:
$ groups testuser
testuser : testuser root
Conclusión
En este tutorial, hemos aprendido cómo eliminar un usuario de un grupo usando usermod, gpasswd y también eliminándolo manualmente del archivo ‘/ etc / group’.
Estas instrucciones se pueden utilizar en cualquier sistema Linux como Ubuntu, CentOS, Fedora y muchos otros. Si tiene alguna pregunta, háganoslo saber en los comentarios a continuación.