Comando gpasswd para Linux
El comando gpasswd para Linux se utiliza para administrar grupos. Con este comando podemos modificar la información del grupo, agregar o eliminar usuarios y establecer una contraseña para el grupo.
Normalmente para realizar modificaciones en un grupo necesitas privilegios de superusuario o root, ya que estas modificaciones pueden afectar a la seguridad del sistema.
Otros comandos relacionados son groupmod y groupadd.
Comando gpasswd
Vamos a ver algunos ejemplos trabajando con el comando gpasswd y grupos que ya existen en el sistema.
Para ver los grupos ya existentes en nuestro sistema usaremos el comando cat acompañado de tail. De esta forma le vamos a indicar que nos muestre los cinco últimos grupos creados en nuestro sistema.
sudo cat /etc/group | tail -n 5
sistema:x:1004:
arte:x:1003:
nuevo_grupo:x:1006:
grupo_sistema:x:333:
desarrollo:x:1003:
Siempre que necesitemos ver ver todas las opciones disponibles para el comando de Linux gpasswd podemos ejecutar en nuestro terminal el comando man gpasswd.
Haciendo uso de gpasswd para Linux
Haciendo uso del comando gpasswd en el grupo desarrollo de nuestro sistema le añadiremos una contraseña.
sudo gpasswd desarrollo

Opciones para el comando gpasswd
Seguiremos trabajando con el grupo desarrollo para ver algunas de las diferentes opciones que ofrece este comando.
Agregando usuario a un grupo con gpasswd -a
En mi sistema tengo un usuario llamado kali, vamos a intentar agregarlo al grupo desarrollo haciendo uso de este comando. Aunque antes de agregarlo vamos a ver qué usuarios pertenecen a este grupo.
getent group desarrollo
desarrollo:x:1003:
nombre_grupo:x:GID:usuario
Podemos ver que no existe ningún usuario dentro del grupo desarrollo. Después del GID no hay nombres de usuarios.
Ahora agregaremos al usuario kali a este grupo llamado desarrollo.
sudo gpasswd -a kali desarrollo
Ahora si volvemos a realizar una búsqueda veremos que sí aparece el usuario kali perteneciente al grupo desarrollo.
Podemos ver en la siguiente captura de pantalla que inicialmente el grupo no tiene usuarios (comando getent).
Haciendo uso del comando gpasswd con la opción -a agregamos al usuario kali.
Acto seguido, podemos observar (comando getent) que sí que aparece el usuario kali como perteneciente al grupo desarrollo.

Quitando usuario de un grupo con gpasswd -d
Lo primero que debemos hacer para eliminar a un usuario de un grupo es ver si realmente este usuario pertenece al grupo.
Para variar, haremos una búsqueda de los usuarios en el grupo desarrollo haciendo uso de los comandos cat y grep de Linux.
cat /etc/group | grep desarrollo
desarrollo:x:1003:kali
El grupo desarrollo con GID 1003 tiene al usuario kali.
Ahora vamos a eliminar al usuario kali del grupo y volveremos a realizar la búsqueda.
sudo gpasswd -d kali desarrollo
Podemos ver en la captura de pantalla que nos muestra un mensaje de haber eliminado correctamente al usuario y luego en la siguiente búsqueda no aparece.

Agregando varios usuarios a un grupo con gpasswd -M
Antes de seguir trabajando con este ejemplo agregaré tres usuarios nuevos al sistema. Podemos hacerlo de forma sencilla usando el comando adduser.
A continuación vemos el listado de los usuarios, mostrando únicamente los tres últimos resultados.
cat /etc/passwd | tail -n 3
usuario1:x:1001:1001:,,,:/home/usuario1:/bin/bash
usuario2:x:1002:1002:,,,:/home/usuario2:/bin/bash
usuario3:x:1005:1005:,,,:/home/usuario3:/bin/bash
Ahora haciendo uso del comando gpasswd -M incluiremos estos tres usuarios recién creados en el grupo desarrollo.
sudo gpasswd -M usuario1,usuario2,usuario3 desarrollo
En la siguiente captura de pantalla podemos observar la información del grupo desarrollo antes y después de haberlos agregado.
