Usuarios y grupos en Linux¶
Este módulo explica cómo Linux gestiona usuarios y grupos, cómo se autentican y cómo se relacionan con permisos y procesos.
La correcta gestión de usuarios es fundamental para seguridad, auditoría y estabilidad en cualquier sistema Linux multiusuario.
Introducción¶
Linux está diseñado desde su origen como un sistema multiusuario.
Cada acción que ocurre en el sistema (leer un archivo, ejecutar un comando, lanzar un servicio) se ejecuta en nombre de un usuario.
Por eso, entender cómo se crean, identifican y gestionan los usuarios es clave para:
- Controlar accesos
- Aplicar permisos correctamente
- Auditar acciones
- Evitar errores de seguridad
Identidad de usuario: UID y GID¶
Linux no identifica usuarios por nombre, sino por números.
- UID (User ID) → identifica al usuario
- GID (Group ID) → identifica al grupo principal
Ejemplo:
id david
Salida típica:
uid=1000(david) gid=1000(david) groups=1000(david),27(sudo)
⚠️ El nombre es solo una etiqueta; el sistema trabaja con UID/GID.
Usuario root¶
- UID 0
- Control total del sistema
- Puede ignorar permisos
id root
❗ Nunca uses root para trabajo diario.
Archivos clave del sistema¶
La información de usuarios y grupos se guarda en archivos de texto planos.
/etc/passwd¶
Contiene la definición de usuarios.
Ejemplo:
david:x:1000:1000:David Alvarez:/home/david:/bin/bash
Campos:
- Usuario
- Contraseña (x → en shadow)
- UID
- GID
- Comentario
- Home
- Shell
/etc/shadow¶
Contiene las contraseñas cifradas.
david:$y$j9T$...:19850:0:99999:7:::
- Solo accesible por root
- Crítico para la seguridad
/etc/group¶
Define los grupos del sistema.
sudo:x:27:david
Campos:
- Nombre del grupo
- Contraseña (normalmente x)
- GID
- Miembros
Crear y gestionar usuarios¶
Crear usuario¶
useradd david
Forma recomendada (con entorno completo):
useradd -m -s /bin/bash david
O directamente:
adduser david
Asignar contraseña¶
passwd david
Eliminar usuario¶
userdel david
Eliminar también su home:
userdel -r david
⚠️ Cuidado en sistemas productivos: puede romper servicios.
Grupos y pertenencia¶
Los grupos permiten gestionar permisos de forma colectiva.
Crear grupo¶
groupadd desarrolladores
Añadir usuario a grupo¶
usermod -aG desarrolladores david
❗ Sin
-a, se sobrescriben los grupos existentes.
Ver grupos de un usuario¶
groups david
Sesiones y entorno del usuario¶
Cada usuario tiene:
- Directorio HOME
- Shell
- Variables de entorno
- Archivos de configuración
Ejemplo de home:
/home/david
Archivos importantes:
.bashrc.profile.bash_profile
Cambio de usuario y elevación de privilegios¶
su (switch user)¶
su david
Como root:
su -
sudo (recomendado)¶
Ejecutar un comando como root:
sudo apt update
Configurar sudo:
visudo
Archivo:
/etc/sudoers
✅ sudo deja trazabilidad (logs), su no.
Usuarios del sistema vs usuarios humanos¶
Linux diferencia entre:
Usuarios humanos¶
- UID ≥ 1000
- Login interactivo
- Home directory
Usuarios de sistema¶
- UID < 1000
- Sin login
- Usados por servicios (www-data, mysql, sshd)
Ejemplo:
id www-data
Errores comunes¶
Errores habituales:
- Trabajar siempre como root
- Editar
/etc/passwda mano sin cuidado - Olvidar
-aenusermod - Dar sudo innecesario
- No deshabilitar usuarios antiguos
💡 Usa grupos para permisos, no usuarios individuales.
Ejercicios prácticos¶
1. Crear un usuario completo¶
adduser prueba
Comprueba:
id prueba
ls /home
2. Crear grupo y asignar permisos¶
groupadd proyecto
usermod -aG proyecto prueba
groups prueba
3. Revisar archivos del sistema¶
cat /etc/passwd | tail
cat /etc/group | tail
Mentalidad¶
Un buen sysadmin piensa:
- Todo proceso corre como un usuario
- Menos privilegios = más seguridad
- Grupos simplifican la gestión
- sudo > root
- Usuarios también son una superficie de ataque
La gestión de usuarios es base de la seguridad.
Resumen¶
- Linux identifica usuarios por UID/GID
- root tiene UID 0
- /etc/passwd, shadow y group son archivos clave
- useradd, usermod y groupadd son comandos esenciales
- sudo es la forma correcta de elevar privilegios
Siguiente paso¶
En el siguiente módulo entrarás en:
Procesos en Linux (procesos.md)
Donde verás:
- Qué es un proceso y cómo se crea
- PID, PPID y estados
- Cómo monitorizar y controlar procesos