Contents
Introducción a los permisos de archivos
Los permisos de archivos son uno de los pilares fundamentales en la administración de sistemas operativos, tanto en entornos Unix/Linux como en Windows. Una correcta configuración evita accesos no autorizados, protege la integridad de los datos y facilita la colaboración entre usuarios. Sin embargo, los errores en permisos suelen ser causa de “Permiso denegado” y otros fallos críticos. En este artículo encontrarás una guía detallada para diagnosticar y solucionar problemas de permisos de archivos, con ejemplos prácticos, herramientas y buenas prácticas.
Estructura de permisos en Unix/Linux
En sistemas Unix/Linux, cada archivo y directorio está asociado a tres clases de usuarios:
- Propietario (u): Usuario que creó o que posee el archivo.
- Grupo (g): Conjunto de usuarios con permisos compartidos.
- Otros (o): Todos los usuarios del sistema no incluidos en las dos categorías anteriores.
Cada clase puede tener tres permisos básicos:
- Lectura (r): Permite visualizar el contenido.
- Escritura (w): Permite modificar el contenido.
- Ejecución (x): Permite ejecutar archivos o acceder a directorios.
Se representan en forma simbólica (rwxr-xr–) o numérica (0754).
Comandos básicos para diagnóstico
1. ls -l: Muestra permisos y propietarios.
Ejemplo:
ls -l archivo.txt -rw-r--r-- 1 alice staff 1024 may 1 12:00 archivo.txt
2. stat: Información detallada.
stat archivo.txt
3. getfacl: Muestra las Access Control Lists (ACL).
getfacl archivo.txt
Modificar permisos y propietarios
- chmod – Cambia los permisos. Formato simbólico o absoluto:
- Simbólico:
chmod u rw,g-w,o= archivo - Octal:
chmod 640 archivo
- Simbólico:
- chown – Cambia propietario y/o grupo:
chown bob archivochown bob:developers directorio/
- chgrp – Solo cambia el grupo:
chgrp staff archivo
Errores comunes y soluciones
| Problema | Causa | Solución |
|---|---|---|
| Permiso denegado al leer/escribir | Permisos insuficientes (r/w falta) |
chmod u r archivo.txto ajustar permisos numéricos. |
| No se puede entrar en directorio | Permiso de ejecución (x) ausente |
chmod x directorio/
|
| Problemas con sticky bit | Directorio compartido (/tmp) |
Verificar chmod t, permite eliminar solo archivos propios.
|
| ACL no aplicada | Sistema de archivos sin soporte ACL |
Remontar con opciones acl o usar setfacl.
|
Permisos recursivos y máscaras
Para directorios con contenido extenso:
chmod -R 755 /var/www/html/
La máscara umask define permisos por defecto. Por ejemplo, umask 022 otorga 755 en directorios y 644 en archivos nuevos.
Seguridad avanzada: ACL y SELinux/AppArmor
- ACL (Access Control Lists): Permiten definir permisos específicos por usuario o grupo:
setfacl -m u:carol:rw archivo.txt. - SELinux: Sistema de control de acceso basado en políticas. Diagnóstico:
sestatusls -Z archivo
Para corregir contexto:
restorecon -v archivo.txt. - AppArmor: Perfil por aplicación. Usar
aa-statusyaa-complainoaa-enforcepara ajustar perfiles.
Permisos en Windows (NTFS)
En Windows, los permisos NTFS incluyen lectura, escritura, ejecución, modificar y control total. Se gestionan desde el Explorador de archivos o icacls:
C:> icacls C:data /grant Users:(R) /T
Referencia oficial: Asignar control de acceso en Windows Server.
Buenas prácticas de permisos
- Principio de menor privilegio: otorgar solo lo necesario.
- Usar grupos para gestión masiva, no usuarios individuales.
- Revisar permisos regularmente (
find / -perm). - Documentar cambios y mantener bitácora.
- Auditar con herramientas como auditd (Linux) y Audit Policy (Windows).
Conclusión
Los permisos de archivos son vitales para la seguridad y funcionalidad de cualquier sistema. Conocer los modelos de permisos, comandos de diagnóstico, herramientas avanzadas y mejores prácticas garantiza una administración eficaz y segura. Ante cualquier “Permiso denegado”, diagnostica metódicamente: identifica, corrige y verifica. Esto reducirá el riesgo de fallos de acceso y vulnerabilidades.
Referencias
|
|
Acepto donaciones de BAT's mediante el navegador Brave 🙂 |
