Introducción al error Permission Denied en Linux
Uno de los problemas más comunes a los que se enfrentan tanto los administradores de sistemas como los usuarios cotidianos de distribuciones Linux como Ubuntu, Debian o CentOS es el temido mensaje de error: Permission denied (Permiso denegado). Este fallo interrumpe la ejecución de scripts, la instalación de paquetes o la lectura y escritura de archivos esenciales.
Causas principales del error Permission Denied
El sistema operativo Linux cuenta con un modelo de seguridad robusto basado en usuarios, grupos y permisos de archivos. Las causas más frecuentes de este error son:
- Intentar modificar o leer un archivo que pertenece a otro usuario o al usuario
rootsin los privilegios adecuados. - Falta de permisos de ejecución (
x) en un script de Bash o un binario descargado. - Errores en la propiedad del archivo tras una transferencia o copia realizada mediante comandos con
sudo.
Método 1: Elevar privilegios con sudo
Si el comando que estás ejecutando requiere privilegios administrativos para acceder a directorios del sistema, la solución más directa es anteponer sudo.
- Abre tu terminal.
- Identifica el comando fallido, por ejemplo:
apt update. - Ejecútalo nuevamente añadiendo sudo al principio:
sudo apt update. - Introduce la contraseña de tu usuario administrador cuando se te solicite.
Método 2: Modificar los permisos con chmod
Si estás intentando ejecutar un script propio y obtienes un error de denegación, es probable que no tenga permisos de ejecución.
- Comprueba los permisos actuales del archivo con:
ls -l nombre_archivo.sh. - otorga permisos de ejecución al archivo ejecutando:
chmod +x nombre_archivo.sh. - Vuelve a intentar ejecutar el script de manera habitual:
./nombre_archivo.sh.
Método 3: Cambiar la propiedad del archivo con chown
A veces los archivos son creados por el superusuario root por error, impidiendo que tu usuario normal los edite.
- Verifica el propietario actual del archivo con:
ls -l archivo.txt. - Cambia el propietario asignándolo a tu usuario actual con:
sudo chown $USER:$USER archivo.txt. - Comprueba que el acceso se ha restablecido abriendo o modificando el archivo normalmente.