¿Cómo comprobar los permisos de un archivo en Linux?
Linux es uno de los sistemas operativos más populares que alimentan servidores VPS, plataformas de alojamiento web y máquinas virtuales en todo el mundo. En el núcleo de la seguridad de Linux se encuentra su sistema de permisos de archivos – reglas que definen quién puede leer, modificar o ejecutar un archivo. Saber cómo comprobar los permisos en Linux es esencial para la gestión de un VPS, la creación de entornos de alojamiento seguro, o trabajar dentro de una máquina virtual.
Los fundamentos de los permisos de archivo
Cada archivo y directorio en Linux tiene tres tipos de permisos:
- Lectura (r) → ver el contenido de un archivo o listar un directorio.
- Escribir (w) → modificar o borrar un archivo, añadir o eliminar archivos en un directorio.
- Ejecutar (x) → ejecutar un archivo (si es un programa) o entrar en un directorio.
Y estos permisos se aplican a tres categorías de usuarios:
- Propietario (usuario) → normalmente el creador del archivo.
- Grupo → usuarios pertenecientes al grupo del archivo.
- Otros → todos los demás.
Comprobación de permisos con ls -l
La forma más sencilla es utilizar el comando ls -l:
Ejemplo de salida:
- -rw-r–r– → permisos
- usuario → propietario
- group → grupo
- archivo.txt → nombre de archivo
Aquí, -rw-r–r– significa:
- Propietario: leer, escribir
- Grupo: lectura
- Otros: leer
Información detallada con estadísticas
Para más detalles, utilice
Ejemplo:
Ahora verá los permisos de dos formas: simbólica (-rw-r–r–) y numérica (0644).
Comprender los valores numéricos
Los permisos pueden representarse como números:
- Lectura = 4
- Escritura = 2
- Ejecutar = 1
Sumándolos se obtiene el valor del permiso:
- rw- = 6
- r-x = 5
- rwx = 7
Entonces 0644 = Propietario: 6 (lectura/escritura), Grupo: 4 (lectura), Otros: 4 (lectura).
Permisos para directorios
Para los directorios, las reglas son ligeramente diferentes:
- r → listar los nombres de los archivos.
- w → crear o borrar archivos (si x también está configurado).
- x → introducir el directorio.
Ejemplo
Aquí, el propietario tiene todos los derechos, el grupo puede leer/entrar y los demás no tienen acceso.
Permisos especiales
Linux también soporta permisos avanzados:
- setuid (s) → ejecutar archivo con los privilegios del propietario.
- setgid (s) → ejecutar archivo con privilegios de grupo.
- sticky bit (t) → en directorios, sólo el propietario del archivo puede borrar sus archivos (común en /tmp).
Ejemplo:
La t al final significa sticky bit.
Tabla de referencia rápida
Simbólico | Numérico | Significado (Archivo) | Significado (Directorio) |
---|---|---|---|
— | 0 | Sin acceso | Sin acceso |
–x | 1 | Ejecutar | Introduzca |
-w- | 2 | Escribir | Crear/borrar (con x) |
-wx | 3 | Escribir + ejecutar | Modificar + escribir |
r– | 4 | Leer | Listar nombres (con x) |
r-x | 5 | Leer + Ejecutar | Lista + enter |
rw- | 6 | Leer + Escribir | Ver + modificar contenido |
rwx | 7 | Acceso total | Control total |
Ejemplos frecuentes
- -rw-r–r– (0644) → el propietario puede leer/escribir; los demás sólo pueden leer.
- -rwxr-xr-x (0755) → el propietario puede hacer todo; los demás pueden ejecutar pero no modificar.
- drwxrwxrwt (1777) → carpeta escribible por todo el mundo con sticky bit (como /tmp).
Conclusión
Para comprobar los permisos de archivos en Linux:
- Utilice ls -l para un vistazo rápido.
- Use stat para una salida detallada.
- Aprenda a leer las notaciones simbólicas (rwx) y numéricas (755, 644).
- Recuerde que los directorios siguen las mismas reglas pero interpretan x de forma diferente.
Una vez que entienda estos conceptos básicos, los permisos se convierten en una parte poderosa y fácil de leer de la seguridad de Linux.