Grupos YUsuarios
Grupos y Usuarios
Section titled “Grupos y Usuarios”1. Gestión de usuarios
Section titled “1. Gestión de usuarios”useradd vs adduser
Section titled “useradd vs adduser”1. useradd (programa básico del sistema)
Section titled “1. useradd (programa básico del sistema)”- Es el comando original de bajo nivel de Linux para crear usuarios.
- Pertenece al paquete passwd o shadow (dependiendo de la distro).
- No crea automáticamente todo lo necesario (por ejemplo, la carpeta personal).
- Solo ejecuta una instrucción directa al sistema, sin preguntar nada.
- Se usa mucho en scripts o administración avanzada.
Ejemplo:
sudo useradd franciscoEsto solo crea la entrada en /etc/passwd, pero:
- No crea /home/francisco
- No copia archivos de configuración por defecto (.bashrc, etc.)
- No asigna contraseña
Tendrías que hacer todo manualmente:
sudo mkdir /home/franciscosudo cp -r /etc/skel/. /home/franciscosudo chown -R francisco:francisco /home/franciscosudo passwd francisco2. adduser (script de alto nivel)
Section titled “2. adduser (script de alto nivel)”- Es un script en Perl que usa internamente useradd, pero con asistentes interactivos.
- Crea automáticamente:
- Carpeta personal (/home/usuario)
- Archivos de configuración inicial
- Grupo con el mismo nombre
- Permisos correctos
- Pide la contraseña y otros datos de forma interactiva
Ejemplo:
sudo adduser franciscoEsto:
- Crea /home/francisco
- Crea el grupo francisco
- Copia los archivos de /etc/skel
- Asigna contraseña (te la pide)
- Te deja todo listo en un paso
Comparación directa
Section titled “Comparación directa”En resumen (gestión de usuarios)
Section titled “En resumen (gestión de usuarios)”- Usa adduser cuando creas usuarios manualmente (más seguro y rápido).
- Usa useradd en scripts o configuraciones personalizadas, donde controlas cada detalle.
2. Grupos
Section titled “2. Grupos”Gestión de grupos
Section titled “Gestión de grupos”¿Qué es un grupo en Linux?
Section titled “¿Qué es un grupo en Linux?”Un grupo es un conjunto de usuarios que comparten ciertos permisos. Sirve para organizar quién puede hacer qué con los archivos, carpetas o procesos del sistema.
Piensa que un grupo es como un “equipo” dentro del sistema operativo.
Ejemplo simple
Section titled “Ejemplo simple”Imagina que tienes tres usuarios:
juanmariapedroY quieres que solo juan y maria puedan entrar a una carpeta llamada /proyecto.
En lugar de dar permisos a cada uno individualmente, puedes crear un grupo:
sudo groupadd proyectoLuego agregas a los usuarios al grupo:
sudo usermod -aG proyecto juansudo usermod -aG proyecto mariaDespués haces que la carpeta pertenezca a ese grupo:
sudo chown :proyecto /proyectoY le das permisos solo al grupo:
sudo chmod 770 /proyectoAhora:
- Juan ✅ puede entrar.
- María ✅ puede entrar.
- Pedro ❌ no puede.
Cada usuario tiene
Section titled “Cada usuario tiene”- Un grupo principal (primario): Se crea automáticamente con el mismo nombre que el usuario. Ejemplo: el usuario francisco pertenece al grupo francisco.
-
**Grupos secundarios (suplementarios):** Son grupos extra a los que puede pertenecer. Ejemplo:
```bash
sudo usermod -aG sudo,video,audio francisco
```
Aquí el usuario pertenece a los grupos:
- sudo → puede usar comandos como administrador
- video → puede acceder a la cámara o GPU
- audio → puede usar el micrófono o altavoces
Salida posible:
francisco : francisco sudo video audioArchivos donde se guardan los grupos
Section titled “Archivos donde se guardan los grupos”-
/etc/group → lista todos los grupos del sistema. Ejemplo de líneas:
Terminal window root:x:0: sudo:x:27:francisco proyecto:x:1002:juan,maria### En resumen (gestión de grupos)
---
## 3. Archivos importantes del sistema ---
## 4. Ejemplos prácticos comunes
- **Crear un usuario con carpeta personal y shell bash:**
```bash sudo useradd -m -s /bin/bash francisco ```-
Cambiar nombre de usuario:
Terminal window sudo usermod -l nuevo_nombre francisco -
Bloquear/desbloquear usuario:
Terminal window sudo usermod -L francisco # Bloquear sudo usermod -U francisco # Desbloquear -
Ver todos los usuarios del sistema:
Terminal window cut -d: -f1 /etc/passwd---## Utilidad de grupos y usuarios### 1. Cuando hay varios usuariosAhí es donde **más se nota su función**.Ejemplo: En un servidor o una universidad, hay muchos usuarios distintos:- Cada uno tiene su cuenta (/home/juan, /home/maria, etc.) -
Cada uno solo puede entrar a su carpeta
-
Los administradores (grupo sudo) pueden cambiar configuraciones del sistema
-
Otros grupos controlan quién puede acceder a redes, dispositivos USB, cámaras, etc.
Así, Linux mantiene la **seguridad y el orden** entre todos los usuarios.---### 2. Cuando eres el único usuarioIncluso así, **sigue siendo muy útil** por estas razones:### a) Seguridad interna- El sistema separa procesos y permisos por usuario. -
Ejemplo: sí un programa malicioso se ejecuta como “usuario normal”, no puede dañar el sistema, porque no tiene permisos de administrador.
Tú usuario normal pertenece a su propio grupo (por ejemplo, francisco:francisco), y no puede tocar archivos del sistema (/etc, /usr, etc.) sin usar sudo.---### b) Servicios y procesos del sistemaLinux trata **cada servicio como sí fuera un usuario separado** para aislarlos.Por ejemplo:
root → superusuariomysql → usuario del servicio MySQLwww-data → usuario del servidor web Apache o Nginxnobody → usuario “vacío” usado por procesos sin privilegios Así, sí un servicio (como un servidor web) es hackeado, el atacante **no puede controlar todo el sistema**, solo ese usuario limitado.
---
### c) Control de dispositivos y permisos especiales
Los grupos también controlan **qué puede hacer tú usuario con el hardware**, incluso sí eres el único:
- audio → para reproducir sonido-
video → para usar la cámara
-
network → para cambiar redes
-
docker, kvm, vboxusers, etc. → para manejar máquinas virtuales, contenedores, etc.
Sí no estás en esos grupos, el sistema simplemente **no te deja usar esos recursos**.---<h5 id="en-resumen-utilidad-de-grupos-y-usuarios">En resumen (utilidadde grupos y usuarios)</h5>
---
### 3. Otros
### 1. Cuando creas o manejas máquinas (virtuales o reales)
Cada máquina (por ejemplo, una que instalas con VirtualBox, KVM o Docker) tiene su propio **sistema Linux**, y dentro de él **todo funciona con usuarios y grupos**.
Sí no los entiendes:
- No sabrás **por qué un programa no puede acceder a un archivo.**-
No podrás dar permisos a scripts, servidores o procesos.
-
No entenderás por qué “root” puede hacerlo todo y tú usuario no.
En máquinas virtuales o servidores, *la seguridad y estabilidad dependen directamente de esos permisos.*### 2. En ciberseguridad o administraciónSí quieres aprender hacking ético, pentesting o proteger sistemas, necesitas dominar esto porque:- Los atacantes intentan **escapar del usuario limitado** (por ejemplo, www-data) y conseguir permisos de root. -
Los administradores deben configurar correctamente los grupos y permisos para que eso no sea posible.
Ejemplo: Sí un servicio web corre como usuario www-data, no debería poder leer /etc/shadow (donde están las contraseñas). Ese aislamiento lo logran los **usuarios y grupos**.### 3. En desarrollo o automatizaciónCuando haces tus propias máquinas, scripts o aplicaciones:- Puedes crear **usuarios específicos para cada proceso** (por seguridad). -
Asignar grupos para definir qué scripts pueden acceder a ciertos archivos.
-
Controlar permisos de ejecución (rwx) para evitar errores o accesos indebidos.
Ejemplo real:
sudo useradd -r -s /bin/false servidor_web Esto crea un usuario “de sistema” sin acceso a terminal, usado solo para ejecutar un servicio.
### En resumen (otros) En palabras simples:
<blockquote> Sí no entiendes cómo Linux maneja usuarios, grupos y permisos, nunca tendrás **control real** de una máquina. Pero cuando lo dominas, puedes **construir, romper y proteger sistemas** a tú gusto.
</blockquote>