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 archivo
chown 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.txt o 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:
sestatus
ls -Z archivo
Para corregir contexto:
restorecon -v archivo.txt
. - AppArmor: Perfil por aplicación. Usar
aa-status
yaa-complain
oaa-enforce
para 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 🙂 |