Cómo Solucionar el Error 'Permission Denied' en Scripts Bash en Linux Paso a Paso

Cómo Solucionar el Error 'Permission Denied' en Scripts Bash en Linux Paso a Paso
Anuncio relacionado

Introducción al Error Permission Denied en Linux

Uno de los problemas más comunes a los que se enfrentan los usuarios y administradores de sistemas en Linux al ejecutar scripts personalizados es el famoso mensaje bash: ./script.sh: Permission denied. Este error ocurre cuando el archivo carece de los permisos de ejecución necesarios asignados por el sistema operativo.

Causas Principales del Problema

El sistema de seguridad de Linux restringe la ejecución de archivos por defecto a menos que se indique explícitamente lo contrario. Las causas más habituales son:

  • El archivo fue descargado o creado recientemente y solo tiene permisos de lectura y escritura (rw-r--r--).
  • El usuario actual no es el propietario del archivo y el grupo o otros no tienen permisos adecuados.
  • Se intenta ejecutar el script sin la sintaxis correcta o sin privilegios de superusuario cuando el script requiere modificar archivos del sistema.

Método 1: Otorgar Permisos de Ejecución con chmod (Recomendado)

La forma más rápida y segura de solucionar este inconveniente es modificar los permisos del archivo utilizando el comando chmod para añadir el permiso de ejecución.

  1. Abre tu terminal de Linux.
  2. Navega hasta la carpeta donde se encuentra tu script usando el comando cd: cd /ruta/a/tu/carpeta
  3. Ejecuta el siguiente comando para otorgar permisos de ejecución al propietario del archivo: chmod +x script.sh
  4. Si el script necesita ser ejecutado por cualquier usuario del sistema, puedes usar: chmod 755 script.sh
  5. Finalmente, ejecuta tu script normalmente: ./script.sh

Método 2: Cambiar el Propietario del Archivo con chown

Si el error persiste, es probable que no tengas los derechos sobre el archivo porque fue creado por otro usuario (como root). En este caso, debes cambiar la propiedad del archivo.

  1. Verifica quién es el propietario actual del archivo con el comando: ls -l script.sh
  2. Cambia el propietario del archivo a tu usuario actual usando sudo chown: sudo chown $USER:$USER script.sh
  3. Vuelve a aplicar los permisos de ejecución: chmod +x script.sh
  4. Prueba ejecutar el script nuevamente.

Método 3: Ejecutar el Script Mediante el Intérprete de Bash Directamente

Si necesitas ejecutar el script de inmediato sin modificar sus permisos en el disco, puedes invocar directamente al intérprete de Bash para que procese el archivo de texto plano.

  1. Abre la terminal en la ubicación del archivo.
  2. Ejecuta el comando pasando el archivo como argumento a bash: bash script.sh
  3. Si el script requiere privilegios administrativos, antepon sudo: sudo bash script.sh
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Juegos

Cómo Solucionar el Error DXGI_ERROR_DEVICE_HUNG en Juegos de PC de Forma Definitiva

El error DXGI_ERROR_DEVICE_HUNG interrumpe tus partidas cerrando el juego inesperadamente. Aprende a solucionarlo aplicando estos métodos efectivos.

Leer guía completa →
Linux

Cómo Solucionar el Error de Espacio en Disco por Inodos Llenos en Linux Paso a Paso

Descubre por qué tu sistema Linux rechaza nuevos archivos a pesar de tener espacio libre en disco. Aprende a diagnosticar y liberar inodos rápidamente.

Leer guía completa →
Hardware

Cómo Solucionar el Problema de Pitidos en la Placa Base al Encender el PC de Forma Definitiva

Tu ordenador emite pitidos y no da vídeo al arrancar. Aprende a identificar los códigos de la BIOS y soluciona este fallo de hardware.

Leer guía completa →