You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
10 Hrs
11 Min
4 Seg

Manejo de grupos

6/16
Resources

How to manage groups in Linux?

Delving into the world of Linux system administration involves efficiently managing user groups, which allow you to manage permissions for different users and facilitate administration by grouping them together. Would you like to learn how to manage groups properly and create shared folders? Read on!

How to view existing groups?

Groups in Linux are managed through a file similar to that of users. To view existing groups, you can use the following commands:

  1. Show all groups on the system:
ls /etc/group

This command will show you a list of all groups configured on your system.

  1. Search for a specific user in the groups:
cat /etc/group | grep username.

For example, to search for the user CodeBarz, the command would be:

cat /etc/group | grep CodeBarz
  1. List all groups to which a user belongs:
groups

By entering this command while logged in, you will get all the groups to which the current user belongs.

  1. Get users from a specific group:

To find out which users belong to a group such as sudo:

getent group sudo

How to create and modify a group?

Creating a group

To create a group in Linux, we use the groupadd command:

sudo groupadd group_name

For example, to create a group friends:

sudo groupadd friends

Renaming a group

If you want to change the name of the group for standard reasons, such as having it in English, we use groupmod:

sudo groupmod -n new_name current_name

Example when changing friends to friends:

sudo groupmod -n friends friends

How to create a shared folder?

To share files between two users in a folder:

  1. Create the folder:
mkdir /path/to/directory/shared
  1. Change the owner group of the folder:
chgrp group_shared /path/to/to/directory/shared.
  1. Modify permissions:

The chmod command is used to set permissions to allow shared access:

chmod 770 /path/to/directory/shared
  1. Apply special permissions (SGID):

This step is crucial so that any file created or modified in the folder maintains the owner group:

chmod g+s /path/to/directory/shared

How to add users to a group?

To add users to the created group, we use the usermod command:

sudo usermod -aG user_shared_group user

Do this for each user you want:

sudo usermod -aG friends so-and-sosudo usermod -aG friends perengano

How to remove users from a group and delete groups?

Remove a user from a group

Use the gpasswd command:

sudo gpasswd -d user group

To remove perengano from the friends group:

sudo gpasswd -d perengano friends

Removing a group

Finally, remove the group using groupdel:

sudo groupdel group_name

If you want to remove the friends group:

sudo groupdel friends

Mastering group administration in Linux is essential to conveniently manage permissions and resources on the system. By following these steps, you will be able to create safe and efficient collaborative environments. Keep exploring and learning about the fascinating world of Linux!

Contributions 30

Questions 1

Sort by:

Want to see more contributions, questions and answers from the community?

Para manejar grupos de usuarios en Linux, se pueden seguir los siguientes pasos:

  1. Verificar los grupos existentes: se puede usar el comando cat /etc/group para mostrar una lista de los grupos existentes en el sistema.
  2. Crear un nuevo grupo: se puede utilizar el comando sudo groupadd <nombre_del_grupo> para crear un nuevo grupo en el sistema.
  3. Agregar usuarios a un grupo: se puede utilizar el comando sudo usermod -a -G <nombre_del_grupo> <nombre_de_usuario> para agregar un usuario existente al grupo.
  4. Verificar los usuarios de un grupo: se puede utilizar el comando id <nombre_del_grupo> para mostrar una lista de usuarios que pertenecen a un grupo.
  5. Eliminar un grupo: se puede utilizar el comando sudo groupdel <nombre_del_grupo> para eliminar un grupo existente en el sistema.
  6. Cambiar los permisos de un archivo o directorio para un grupo: se puede utilizar el comando sudo chgrp <nombre_del_grupo> <ruta_al_archivo_o_directorio> para cambiar el grupo propietario de un archivo o directorio. Luego se puede utilizar el comando sudo chmod g+<permisos> <ruta_al_archivo_o_directorio> para otorgar permisos específicos para el grupo propietario.
  7. Cambiar el nombre de un grupo: se puede utilizar el comando sudo groupmod -n <nuevo_nombre> <nombre_actual> para cambiar el nombre de un grupo existente.
  8. Verificar los permisos de un grupo: se puede utilizar el comando sudo getfacl /ruta/al/archivo-o-directorio para verificar los permisos de un archivo o directorio. En la salida del comando, se puede observar información sobre los permisos de usuario, grupo y otros.
  9. Agregar usuarios a un grupo secundario: se puede utilizar el comando sudo usermod -a -G <nombre_del_grupo_secundario> <nombre_de_usuario> para agregar un usuario existente a un grupo secundario.
  10. Eliminar usuarios de un grupo: se puede utilizar el comando sudo gpasswd -d <nombre_de_usuario> <nombre_del_grupo> para eliminar un usuario existente de un grupo.
  11. Verificar los permisos de un grupo específico: se puede utilizar el comando sudo visudo para abrir el archivo de configuración sudoers, y luego agregar la siguiente línea para permitir que los usuarios del grupo tengan permisos de superusuario: %<nombre_del_grupo> ALL=(ALL) ALL.
  12. Verificar los grupos de un usuario: se puede utilizar el comando groups <nombre_de_usuario> para mostrar una lista de grupos a los que pertenece un usuario específico.
  • groups: ver todos mis grupos

  • getent group sudo: ver usuarios del grupo sudo

  • groupadd groupname: crear nuevo grupo

  • groupdel groupname: eliminar grupo

  • groupmod -n newGroupName oldGroupName: cambiar el nombre de un grupo

  • usermod -aG groupname username: agregar usuario existente a grupo existente

  • useradd username -m -g groupname: crear usuario y asignarlo a un grupo, -m crea el directorio personal y -g asigna el usuario a un grupo ya creado

  • gpaswd -d username groupname: quitar usuario de un grupo

  • mkdir shared: crear carpeta

  • ls -la: ver permisos de las carpetas

  • chgrp groupname /shared/: asignar carpeta a grupo

  • chmod 770 /shared/: cambiar permisos, todos los permisos al owner, todos al grupo y denegar acceso a todos los que no pertenezcan al grupo

  • chmod +s /shared/: asignar permisos especiales, cualquier archivo que creemos dentro del directorio se va a crear con el group owner

  • less /etc/group | grep username: buscar usuario especifico dentro de los grupos

  • less /etc/group: listar grupos

  • ls: listar directorio actual

  • ls /home: listar un directorio especifico

  • if config: configuracion de red

  • ssh username@ip: conexion por ssh

  • cat /etc/passwd: ver archivo donde estan los usuarios

  • less /etc/shadow: ver usuarios con su contraseña de forma cifrada (podemos usar tanto less o cat)

  • su username: cambiarse de usuario

  • pwd: nombre del directorio actual

  • adduser username: agregar nuevo usuario

  • whoami: ver usuario actual

  • id: ver info del usuario (uid,gid,groups)

  • chfn username: cambiar informacion del usuario

  • usermod --lock username: bloquear usuario (accesos futuros)

  • htop: ver todos los procesos actuales (podemos ver los procesos referentes a un usuario) con F9 matamos el proceso por ejemplo los que aparecen con ssh

  • deluser username: eliminar un usuario (aunque la carpeta en home permanece)

  • rm -rf /home/username/: eliminar un directorio como la carpeta del usuario

Grupos

Los grupos permiten conceder permisos a un conjunto de usuarios simultáneamente.

En Linux un usuario tiene los siguientes grupos:

  • Grupo primario: es el que consta como su GID en /etc/passwd. Sólo puede haber un grupo primario.
  • Grupos secundarios o suplementarios: son los gestionados en el fichero /etc/groups, donde se puede añadir un usuario a más grupos.
    Además, durante la sesión de usuario se puede cambiar temporalmente el grupo al que pertenece el usuario:
  • Grupo real: es su grupo primario que consta en /etc/passwd. Es el grupo al que pertenece un usuario cuando inicia sesión.
  • Grupo efectivo: mediante el comando newgrpse puede cambiar el grupo primario al que pertenece el usuario, y la configuración es efectiva hasta que cierre la seción o vuelva a cambiar de grupo efectivo.

Comandos de gestión de grupos

La suite Shadow también incluye los comandos:

  • groupadd– añade un nuevo grupo
  • groupdel– borra un grupo
  • groupmod– Modifica la información de /etc/groups
  • gpasswd– Modifica el _password _del grupo, reflejado en /etc/gshadow

Usuarios y Grupos en Linux. (s. f.). https://santi-gf.github.io/usuarios-grupos/

Chicos! Aqui dejo un blogpost donde hay mas de 400 comando de linux con sus respectivas categorias

https://explainshell.com/ puede ayudar con la comprensión de comandos. Ingresas el comando y te explica qué hace.

| Comando | Descripción | |-----------------------------|-----------------------------------------------------| | `cat /etc/group` | Muestra todos los grupos en el sistema. | | `groups <usuario>` | Muestra los grupos a los que pertenece un usuario. | | `getent group <grupo>` | Muestra todos los usuarios que pertenecen a un grupo específico. | | `sudo groupadd <nombre>` | Crea un nuevo grupo. | | `sudo groupmod -n <nuevo_nombre> <nombre_antiguo>` | Cambia el nombre de un grupo existente. | | `sudo usermod -aG <grupo> <usuario>` | Agrega un usuario a un grupo existente. | | `sudo gpasswd -d <usuario> <grupo>` | Elimina un usuario de un grupo. | | `sudo groupdel <nombre>` | Elimina un grupo del sistema. | Estos comandos son esenciales para la administración de grupos en Linux.

chmod g+s /shared, en lugar de chmod +s /shared
 
De hecho, yo me inclinaría por ejecutar el 1er comando sobre el 2do para que así haya un “tracking” de quién creó el archivo, de otra forma, no se sabría quién creó qué archivo, qué opinan?

newgrp nombre-grupo
 
Si al momento de agregar al usuario actual (con el que están trabajando) a un grupo y el cambio no se refleja y "no tienen forma de hacer logout/login para aplicar los cambios, mediante este comando el entorno “se inicializa” y el cambio toma efecto.

Hola, excelente curso. Queria agregar aqui el permiso Sticky Bit el cual se aplica a directorios y archivos y lo que permite es restringir la eliminacion o midificacion de un archivo o directorio claro, excepto el dueño o el usuario Root por supuesto.
Como lo activamos, con el comando chmod +t <directorio>
o al modificar los permisos tambien podemos agregar un 1 delante de los demas, ejemplo:
le daremos todos los permisos al dueño y al grupo de cierto directorio sumando la restriccion de poder eliminar los archivos que hubiere dentro del mismo.
$chmod 1770 /shared
De esta manera la carperta queda protegida ante posibles tipos de cambios y eliminacion.
Saludos

Manejo de grupo

  • Para crear un grupo debemos:

    sudo groupadd [groupname]
    
  • Para modificar un grupo, debemos:

    groupmod -n newname lastname
    
  • Para crear un grupo, añadir usuarios y generar una carpeta compartida, debemos:

    • Iniciar como usuario root

      su root
      
    • Creamos la carpeta que queremos compartir en el home.

      mkdir newfolder
      
    • Le cambiamos el owner del grupo:

      chgrp groupname foldername
      
    • Ahora cambiaremos los permisos del folder:

      chmod 770 /shared
      
    • Añadir permisos SIF o SWIF, para que se puedan realizar acciones especiales a nivel de usuario o de grupo

      chmod +s foldername
      
    • Ahora solo queda añadir los usuarios al folder:

      usermod -aG friends username
      

    Pero si lo que deseamos ahora es eliminar un usuario de un grupo y luego el grupo, hacemos lo siguiente:

    gpasswd -d username groupname
    groupdel friends
    

    El control de accesos en Linux

    • Dependiendo del usuario, Linux permitirá acceder o no a ciertos recursos u objetos.

groupmod command # groupmod -n friends amigos

Estoy trabajando en RHEL. Para aquellos que tengan un problemita parecido. He querido entrar desde mi usuario root a fulano, pero no he podido. La solución ha sido: **ls -ld /home/fulano** la salida ha sido **drwx------ 2 1111 fulano 4096 Mar 27 12:34 /home/fulano** lo que me indica que fulano pertenece al UID(o usuario) 1111 y por ello es que el propio fulano no puede ingresar a su directorio. A ello la solución ha sido cambiar el owner y adicionalmente cambiarle de permisos. **chown fulano:fulano /home/fulano** **chmod 700 /home/fulano** Con ello ya he podido entrar al usuario fulano
![](https://static.platzi.com/media/user_upload/image-54870afb-0782-44f7-bd93-d84e4f87301d.jpg) Consulta: ¿Por que una vez que borro el grupo friends, cuando hago un ls a la / en la carpeta compartida shared me figura como permiso de grupo 1001? Muchas Gracias
![](https://static.platzi.com/media/user_upload/image-621bbe7d-c55c-4954-9bbe-dedddef6b902.jpg) Consulta: Por que una vez que borre el grupo friends, si hago un ls a / en la columna de grupo me figura 1001. Gracias!!!

En Linux, los permisos especiales son atributos adicionales que se pueden establecer en archivos y directorios para controlar su comportamiento. Los permisos especiales incluyen:

  • Set user id (SUID): Cuando se establece el bit SUID en un archivo ejecutable, el programa se ejecuta con los privilegios del propietario del archivo, en lugar de los del usuario que lo ejecuta. Esto es útil para programas que requieren privilegios elevados para realizar tareas específicas.

Para establecer el bit SUID en un archivo, puedes usar el comando chmod de la siguiente manera:

chmod u+s archivo
  • Set group id (SGID): Cuando se establece el bit SGID en un directorio, los archivos y subdirectorios creados dentro de ese directorio heredan la propiedad del grupo del directorio principal. Cuando se establece en un archivo ejecutable, se ejecuta con los privilegios del grupo propietario en lugar del grupo principal del usuario.

Para establecer el bit SGID en un directorio o archivo ejecutable llamado “name”:

chmod g+s name
  • Bit sticky: El bit sticky se usa principalmente en directorios para restringir quién puede eliminar o modificar archivos dentro del directorio. Cuando se establece el bit sticky en un directorio, solo el propietario del archivo o el propietario del directorio pueden eliminar o renombrar archivos dentro de ese directorio, incluso si otros tienen permisos de escritura en el directorio.

Para establecer el bit sticky en un directorio:

chmod +t directorio

Estos permisos especiales se representan en la salida del comando ls -l de la siguiente manera:

SUID: Se muestra como “s” en el campo de permisos de ejecución del propietario (por ejemplo, -rwsr-xr-x).
SGID: Se muestra como “s” en el campo de permisos de ejecución del grupo (por ejemplo, -rwxr-sr-x).
Bit sticky: Se muestra como “t” en el campo de permisos de ejecución de otros (por ejemplo, -rwxr-xr-t).
Es importante usar estos permisos especiales con precaución, ya que pueden tener implicaciones de seguridad significativas si no se utilizan correctamente. Se deben aplicar de manera reflexiva y solo cuando sean necesarios para garantizar la seguridad del sistema.

Agregar usuario a cualquier grupo: usermod -aG friends fulano

Permisos especiales: sudo chmod +s /shared Con eso se conserva los permisos del directorio owner

Para cambiar de grupo: sudo chgrp nombreGrupo folder - ejemplo: sudo chgrp friends /shared

Cambiar nombre de grupo: sudo groupmod -n nombreNuevo nombreViejo

Para crear un grupo: sudo groupadd amigos

Para ver los usuarios que pertenecen a un grupo especifico: getent group sudo

Para ver grupos tambien se puede usar: groups

Para ver los grupos a los cuales esta asociado: less /etc/group | grep codevars

para ver grupos: less /etc/group

Me gusto mucho este aprendizaje de los grupos. Aprendi mucho de trabajar con estos, si que hay mucho por conocer en el mercado laboral y mas con linux.

Si no pueden cambiar owner a la carpeta compartida intententen esto: chgrp friends ./shared

Eliminar un grupo groupdel grupo

eliminar un usuario del grupo gpasswd -d usuario grupo

Agregar un usuario al grupo que se requiera usermod -aG grupo usuario

Permisos especiales a la carpeta chmod +s /carpeta/