Introducción
Uno de los errores más comunes a los que se enfrentan tanto los usuarios novatos como los administradores de sistemas en Linux es el mensaje Permission denied (Permiso denegado). Este aviso de seguridad surge cuando el usuario actual intenta leer, escribir o ejecutar un archivo o directorio para el cual no cuenta con los privilegios necesarios asignados por el sistema operativo.
Causas Principales del Error Permission Denied
El núcleo de Linux protege estrictamente los recursos del sistema mediante una robusta capa de permisos. Las causas más frecuentes de este error son:
- Falta de permisos de ejecución en scripts de Bash o binarios.
- Intento de modificar archivos del sistema sin privilegios de superusuario (root).
- Un cambio incorrecto en la propiedad del archivo (pertenece a otro usuario).
- Restricciones estrictas en directorios web o de configuración.
Método 1: Usar sudo para elevar privilegios temporalmente
Si estás intentando instalar un paquete, modificar archivos del sistema o acceder a un directorio restringido, la causa suele ser la falta de privilegios de administrador. La solución más rápida es anteponer el comando sudo.
- Abre tu terminal.
- Vuelve a escribir el comando fallido añadiendo
sudoal principio. Por ejemplo:sudo apt updateosudo nano /etc/hosts. - Introduce la contraseña de tu usuario (nota que no se mostrarán asteriscos mientras escribes) y presiona Enter.
Método 2: Conceder permisos de ejecución con chmod
Si el error ocurre al intentar ejecutar un script propio (por ejemplo, script.sh), significa que el archivo no tiene los bits de ejecución activados. Puedes solucionarlo usando el comando chmod.
- Verifica los permisos actuales del archivo ejecutando:
ls -l nombre_del_archivo. - otorga permisos de ejecución a todos los usuarios con el siguiente comando:
chmod +x nombre_del_archivo - Si prefieres un enfoque más seguro y restrictivo para que solo el propietario pueda ejecutarlo, utiliza:
chmod 700 nombre_del_archivo - Vuelve a intentar ejecutar tu archivo escribiendo
./nombre_del_archivo.
Método 3: Cambiar el propietario del archivo con chown
A veces, un archivo ha sido creado por el usuario root (por ejemplo, mediante un script o una descarga con wget/curl) y tú intentas editarlo con tu usuario estándar, lo que genera un conflicto de propiedad.
- Comprueba quién es el propietario actual del archivo con:
ls -l. - Cambia el propietario del archivo o directorio asignándoselo a tu usuario actual ejecutando:
sudo chown -R tu_usuario:tu_usuario nombre_del_archivo_o_directorio - Reemplaza
tu_usuariopor el nombre de tu cuenta actual en el sistema. El parámetro-Raplicará el cambio de forma recursiva si se trata de una carpeta completa.