Introducción
Uno de los problemas más comunes a los que se enfrentan tanto los usuarios novatos como los administradores de sistemas en distribuciones basadas en Linux (como Ubuntu, Debian o CentOS) es el temido mensaje Permission Denied en la terminal. Este error interrumpe la ejecución de scripts, la instalación de paquetes o la modificación de archivos esenciales del sistema.
Causas Principales del Error Permission Denied
El sistema de seguridad de Linux está basado en permisos estrictos de usuarios, grupos y otros. Las razones más habituales por las que ocurre este fallo son:
- Intentar ejecutar un archivo o script que no tiene permisos de ejecución activos.
- Ejecutar comandos administrativos o de sistema sin privilegios de superusuario (root).
- Modificar archivos de configuración propiedad de otro usuario o del sistema raíz.
Método 1: Utilizar Sudo para Privilegios de Administrador
La causa más frecuente es la falta de privilegios elevados. Si estás intentando instalar software, modificar archivos en directorios protegidos como /etc/ o reiniciar servicios, necesitas usar sudo.
- Abre tu terminal de Linux.
- Identifica el comando que te generó el error, por ejemplo:
apt update. - Antepón la palabra
sudoal comando:sudo apt update. - Introduce tu contraseña de usuario (nota que los caracteres no se mostrarán por seguridad) y presiona Enter.
Método 2: Modificar los Permisos con Chmod
Si el error ocurre al intentar ejecutar un script propio (por ejemplo, un archivo .sh), significa que el sistema no le ha otorgado permisos de ejecución.
- Comprueba los permisos actuales del archivo con el comando:
ls -l nombre_del_script.sh. - Otorga permisos de ejecución al propietario ejecutando:
chmod +x nombre_del_script.sh. - Vuelve a intentar ejecutar tu script con
./nombre_del_script.sh.
Método 3: Cambiar el Propietario con Chown
A veces, un archivo ha sido creado por el usuario root y estás intentando editarlo con tu usuario estándar, lo que genera una denegación de acceso.
- Verifica quién es el propietario actual del archivo:
ls -l archivo.txt. - Cambia el propietario del archivo a tu usuario actual con el comando:
sudo chown tu_usuario:tu_usuario archivo.txt. - Vuelve a intentar modificar o guardar el archivo sin errores.