Permisos en Linux¶
Este módulo explica cómo funcionan los permisos en Linux, cómo se interpretan y cómo gestionarlos correctamente.
Entender los permisos es crítico para cualquier sysadmin, ya que una mala configuración es una de las causas más comunes de errores de acceso, fallos de servicios y problemas de seguridad.
Introducción¶
Linux es un sistema multiusuario por diseño.
Desde el primer día, el sistema asume que habrá múltiples usuarios y procesos accediendo a archivos y recursos al mismo tiempo.
Para controlar esto, Linux usa un modelo de permisos simple pero muy potente, basado en:
- Usuarios
- Grupos
- Permisos
Si entiendes bien este modelo, puedes predecir y resolver la mayoría de problemas de acceso sin ensayo-error.
Modelo de permisos: usuario, grupo y otros¶
Cada archivo y directorio en Linux tiene tres niveles de permisos:
- Usuario (owner)
- Grupo
- Otros (others)
Ejemplo:
-rw-r----- 1 root adm 1234 abr 10 10:00 syslog
Interpretación:
root→ propietarioadm→ grupo- Otros → cualquier usuario fuera del grupo
Tipos de permisos¶
Los permisos básicos son:
- r (read) → leer
- w (write) → escribir
- x (execute) → ejecutar / acceder
Ejemplo visual:
rwx r-x r--
│ │ │
│ │ └─ otros
│ └──── grupo
└──────── usuario
⚠️ En directorios, el permiso
xsignifica poder entrar (cd), no ejecutar.
Visualizar permisos¶
El comando básico es:
ls -l
Ejemplo:
drwxr-x--- 2 www-data www-data 4096 abr 10 12:00 /var/www
Desglose:
d→ directoriorwx→ usuarior-x→ grupo---→ otros
Permisos en formato numérico (octal)¶
Cada permiso tiene un valor:
- r = 4
- w = 2
- x = 1
Suma por bloque:
| Permiso | Valor |
|---|---|
| r-- | 4 |
| rw- | 6 |
| rwx | 7 |
Ejemplo:
chmod 750 script.sh
Equivale a:
- Usuario → rwx (7)
- Grupo → r-x (5)
- Otros → --- (0)
Cambiar permisos con chmod¶
Modo simbólico¶
chmod u+x script.sh
chmod g-w archivo.txt
chmod o-r fichero.log
Donde:
u→ usuariog→ grupoo→ otrosa→ todos
Modo numérico¶
chmod 644 archivo.txt
chmod 755 script.sh
✅ En servidores, 644 y 755 son los permisos más comunes.
Propietarios y grupos: chown y chgrp¶
Cambiar propietario:
chown usuario archivo
Cambiar propietario y grupo:
chown usuario:grupo archivo
Cambiar grupo:
chgrp grupo archivo
Ejemplo típico en web:
chown -R www-data:www-data /var/www/app
Permisos especiales¶
SUID (Set User ID)¶
Ejecuta un binario con permisos del propietario.
Ejemplo clásico:
-rwsr-xr-x 1 root root /usr/bin/passwd
- La
sindica SUID - Permite cambiar contraseña sin ser root
Activar:
chmod u+s archivo
SGID (Set Group ID)¶
- En archivos → hereda grupo
- En directorios → los archivos creados heredan el grupo
chmod g+s directorio
Sticky Bit¶
Usado en directorios compartidos como /tmp.
drwxrwxrwt /tmp
- Solo el propietario puede borrar sus archivos
Activar:
chmod +t directorio
Errores comunes¶
Errores típicos en producción:
- Usar
chmod 777“para que funcione” - No entender permisos en directorios
- Cambiar permisos sin revisar propietario
- Romper servicios web por permisos incorrectos
- Ignorar SGID en entornos colaborativos
💡 Regla de oro: da el mínimo permiso necesario, nunca más.
Ejercicios prácticos¶
1. Analizar permisos¶
ls -l /etc/passwd
Pregúntate:
- ¿Quién puede leerlo?
- ¿Quién puede escribirlo?
2. Crear un directorio compartido¶
mkdir /tmp/compartido
chgrp users /tmp/compartido
chmod 2775 /tmp/compartido
Comprueba cómo se hereda el grupo.
3. Detectar SUID en el sistema¶
find / -perm -4000 2>/dev/null
Mentalidad¶
Un buen sysadmin piensa:
- Los permisos protegen, no estorban
- Si algo falla, revisa permisos antes que reinstalar
- Directorios ≠ archivos
- Seguridad y operatividad deben equilibrarse
Entender permisos te ahorra horas de debugging.
Resumen¶
- Linux usa usuario, grupo y otros
- r, w y x tienen distinto significado en archivos y directorios
- chmod y chown son fundamentales
- Existen permisos especiales (SUID, SGID, sticky)
- Los permisos son causa común de errores
Siguiente paso¶
En el siguiente módulo entrarás en:
Usuarios y grupos (usuarios.md)
Donde verás:
- Cómo se gestionan usuarios en Linux
- Archivos clave como
/etc/passwdy/etc/group - Buenas prácticas en entornos multiusuario