Introducción al Error 'Permission Denied' en Linux
Uno de los problemas más comunes a los que se enfrentan tanto los usuarios novatos como los administradores de sistemas en Linux es el mensaje de error Permission denied. Este inconveniente surge cuando intentamos leer, modificar, ejecutar un archivo o ejecutar un comando de terminal sin contar con los privilegios necesarios en el sistema de archivos.
Causas Principales del Error
Las razones por las cuales Linux bloquea una acción y muestra este mensaje son muy específicas:
- Intentar ejecutar un script o comando que requiere privilegios de superusuario (root) sin utilizar
sudo. - Falta de permisos de lectura, escritura o ejecución en el archivo o directorio de destino para el usuario actual.
- Problemas con la propiedad del archivo, donde este pertenece a otro usuario (como root) y no al usuario con el que has iniciado sesión.
Método 1: Usar Sudo para Otorgar Privilegios Temporales
Si el error ocurre al intentar instalar un paquete, modificar archivos del sistema o ejecutar comandos administrativos, la solución suele ser elevar tus privilegios.
- Identifica el comando que te devolvió el error, por ejemplo:
apt update. - Vuelve a escribir el comando anteponiendo la palabra
sudo, quedando de la siguiente manera:sudo apt update. - Introduce la contraseña de tu usuario (nota que no se mostrarán asteriscos mientras escribes por seguridad) y presiona Enter.
Método 2: Cambiar los Permisos con Chmod
Si el error ocurre al intentar ejecutar un script propio (por ejemplo, un archivo .sh), lo más seguro es que le falten permisos de ejecución.
- Abre tu terminal y navega hasta la carpeta donde se encuentra el archivo.
- Ejecuta el siguiente comando para otorgar permisos de ejecución al propietario:
chmod +x nombre_del_archivo.sh. - Si necesitas que cualquier usuario pueda ejecutarlo, utiliza:
chmod 755 nombre_del_archivo.sh. - Vuelve a intentar ejecutar tu script con
./nombre_del_archivo.sh.
Método 3: Modificar la Propiedad del Archivo con Chown
En ocasiones, un archivo fue creado por el usuario root y tu usuario actual no tiene autorización para manipularlo, incluso modificando los permisos con chmod.
- Comprueba quién es el propietario actual usando el comando:
ls -l nombre_del_archivo. - Cambia la propiedad del archivo para que pertenezca a tu usuario actual ejecutando:
sudo chown tu_usuario:tu_usuario nombre_del_archivo. - Verifica que el problema se haya resuelto intentando acceder o editar el archivo nuevamente.