Comprender los permisos de archivos de Linux y cómo gestionarlos
Uno de los fundamentos clave de la seguridad del sistema Linux y la arquitectura de múltiples usuarios es su modelo de permisos de archivos. A diferencia de Windows, Linux aplica estrictamente la propiedad y el control de acceso para cada archivo y directorio en el sistema. Dominar los permisos de archivos no solo se trata de seguridad, es esencial para gestionar servidores, desplegar software, ejecutar scripts y automatizar tareas.
El modelo de permisos de archivos de Linux
Cada archivo y directorio en Linux tiene tres tipos de derechos de acceso, asignados a tres tipos de usuarios:
| Clase de Usuario | Descripción |
|---|---|
| propietario | El usuario que posee el archivo |
| grupo | Usuarios en el grupo del archivo |
| otros | Todos los demás usuarios en el sistema |
Cada clase puede recibir tres tipos de permisos:
| Permiso | Símbolo | Significado |
|---|---|---|
| leer | r | Ver contenido del archivo / listar dir |
| escribir | w | Modificar archivo o directorio |
| ejecutar | x | Ejecutar archivo o acceder al directorio |
Visualizando permisos con ls -l
Utiliza el comando ls -l para mostrar los permisos de archivos:
Salida:
Desglose:
– → archivo regular
rwx → propietario (leer/escribir/ejecutar)
r-x → grupo (leer/ejecutar)
r– → otros (solo lectura)
Cambiando permisos con chmod
El comando chmod se utiliza para modificar los permisos de archivos.
📌 Modo simbólico:
📌 Modo numérico:
| Octal | Significado |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r– |
| 0 | — |
Ejemplo:
Gestionando la propiedad con chown y chgrp
Cambiar propietario del archivo:
Cambiar grupo:
Cambiar ambos:
Utiliza -R para aplicar cambios recursivamente:
Bits de permiso especiales (Avanzado)
Linux soporta tres modos especiales que modifican el comportamiento predeterminado:
1. SUID (Set User ID) s
Se aplica a archivos ejecutables
Se ejecuta con privilegios del propietario, no del llamador
🔍 salida de ls -l: -rwsr-xr-x
Caso de uso: /usr/bin/passwd debe ejecutarse como root para actualizar /etc/shadow.
SGID (Set Group ID) s
En archivos: se ejecuta con el privilegio del grupo del archivo
En directorios: los nuevos archivos heredan el grupo
🔍 salida de ls -l: drwxr-sr-x
Útil en carpetas de desarrollo compartidas.
Sticky Bit t
En directorios: solo el propietario puede eliminar/renombrar sus archivos
Común en /tmp para proteger archivos de usuario
ls -ld /tmp: drwxrwxrwt
Entendiendo umask
El umask establece permisos predeterminados para nuevos archivos/directorios:
Verifica el valor actual:
Valor común: 0022
| Archivo | Permisos predeterminados | Con umask 0022 |
|---|---|---|
| Archivo | 666 → 644 | rw-r–r– |
| Dir | 777 → 755 | rwxr-xr-x |
Establecer umask temporal:
Correcciones de permisos recursivas
Establecer permisos de carpeta y archivo por separado:
Conclusión
Los permisos de archivos de Linux proporcionan un control de acceso detallado para la seguridad, entornos de múltiples usuarios y automatización. Comprender cómo ver, cambiar y hacer cumplir los permisos te permite gestionar servidores con confianza, proteger datos y colaborar de manera segura.
Ya sea que estés desplegando aplicaciones web, gestionando servidores en la nube o construyendo scripts de shell, conocer tu camino alrededor de chmod, chown, umask y bits de permiso especiales es esencial.
