Los permisos de archivos son fundamentales para la seguridad en Linux, ya que garantizan que solo usuarios y procesos autorizados puedan acceder o modificar archivos. Esta guía explica cómo visualizar los permisos usando herramientas de terminal, interpretar su significado y aplicar este conocimiento en casos reales.
1. Entendiendo los Permisos en Linux
Linux asigna tres tipos de permisos a archivos y directorios:
- Lectura (r): Ver el contenido de un archivo o listar archivos en un directorio.
- Escritura (w): Modificar un archivo o añadir/eliminar archivos en un directorio.
- Ejecución (x): Ejecutar un archivo como programa o ingresar a un directorio.
Los permisos se definen para tres entidades:
- Propietario (owner): El usuario que creó el archivo.
- Grupo (group): Usuarios pertenecientes a un grupo específico.
- Otros (others): Cualquier otro usuario del sistema.
Puede leer también | Guía de permisos de Linux todo lo que necesita saber
2. Visualizando Permisos con ls -l
El comando ls -l muestra información detallada de archivos, incluyendo los permisos.
Ejemplo 1: Uso Básico
ls -l /ruta/al/archivo
Salida:
-rw-r--r-- 1 usuario grupo 1024 Ene 1 12:00 mi_archivo.txt
Interpretando los Permisos:
- El primer carácter (-) indica el tipo de archivo (- para archivos regulares, d para directorios).
- Los siguientes nueve caracteres representan los permisos:
- Propietario: rw- (lectura + escritura).
- Grupo: r-- (solo lectura).
- Otros: r-- (solo lectura).
Ejemplo 2: Permisos en Directorios
ls -ld mi_directorio/
Salida:
drwxr-xr-x 2 usuario grupo 4096 Ene 1 12:00 mi_directorio/
- La d inicial indica que es un directorio.
- El permiso x permite a los usuarios "entrar" al directorio.
3. Usando stat para Información Detallada
El comando stat muestra permisos en formato octal y otros metadatos.
Ejemplo 3: Permisos en Formato Octal
stat -c "%a %n" mi_archivo.txt
Salida:
644 mi_archivo.txt
- 644 equivale a rw-r--r-- (propietario: lectura/escritura, grupo/otros: solo lectura).
Ejemplo 4: Detalles Completos
stat mi_archivo.txt
Salida:
Archivo: mi_archivo.txt Tamaño: 1024 Bloques: 8 Bloque E/S: 4096 archivo regular Acceso: (0644/-rw-r--r--) Uid: ( 1000/ usuario) Gid: ( 1000/ grupo) ...
4. Permisos Especiales
Linux incluye permisos avanzados como setuid, setgid y el sticky bit.
Ejemplo 5: Identificando setuid/setgid
ls -l /usr/bin/passwd
Salida:
-rwsr-xr-x 1 root root 59976 Ene 1 12:00 /usr/bin/passwd
- La s en el permiso de ejecución del propietario (rws) indica setuid, que permite ejecutar el archivo con privilegios del propietario (root).
Ejemplo 6: Sticky Bit en Directorios
ls -ld /tmp
Salida:
drwxrwxrwt 10 root root 4096 Ene 1 12:00 /tmp
- La t final (rwt) es el sticky bit, que evita que usuarios eliminen archivos de otros en /tmp.
5. Casos Prácticos
Caso 1: Solución de errores de "Permiso denegado"
Escenario: No puedes ejecutar un script.
Solución:
ls -l script.sh
Si falta x para tu usuario:
-rw-r--r-- 1 usuario grupo 128 Ene 1 12:00 script.sh
Otorga permiso de ejecución:
chmod +x script.sh
Caso 2: Verificar Acceso a Directorios Compartidos
Escenario: Un equipo necesita acceso de escritura a un directorio.
Verificación:
ls -ld directorio_compartido/
Asegúrate de que el grupo tenga rwx:
drwxrwx--- 2 usuario equipo 4096 Ene 1 12:00 directorio_compartido/
Caso 3: Proteger Archivos Sensibles
Escenario: Un archivo solo debe ser leído por su propietario.
Verificación:
ls -l secreto.txt
Si otros tienen acceso de lectura (r--):
-rw-r--r-- 1 usuario grupo 1024 Ene 1 12:00 secreto.txt
Remueve el acceso para otros:
chmod o-r secreto.txt
6. Comandos Clave (Resumen)
Comando | Descripción |
---|---|
ls -l [archivo] | Ver permisos de un archivo. |
ls -ld [directorio] | Ver permisos de un directorio. |
stat [archivo] | Mostrar metadatos y permisos detallados. |
stat -c "%a %n" [archivo] | Mostrar permisos en formato octal. |
Puede leer también | Cómo cambiar fácilmente los permisos de Carpetas y Archivos en Linux
Entender los permisos en Linux es esencial para la administración de sistemas, la seguridad y el trabajo en equipo. Al dominar ls -l, stat y la interpretación de permisos, podrás diagnosticar problemas de acceso, configurar entornos seguros y optimizar flujos de trabajo.
Consejo: Usa man chmod para aprender a modificar permisos después de visualizarlos.