Cómo solucionar el error zsh: Permisos denegados en Linux o macOS

El error "zsh: permiso denegado" ocurre cuando intentas ejecutar un comando en Linux o Mac sin los privilegios de ejecución necesarios. Esto puede ser algo tan simple como ejecutar `ls` en un directorio sin privilegios de escritura, o ejecutar un script que realiza acciones que tu usuario no está autorizado a realizar. Por "privilegios", nos referimos a permisos de lectura o escritura.

Echemos un vistazo a la razón principal de este error y luego podemos probar cada solución para ver cuál es la mejor.

Este error ocurre principalmente cuando no tienes permisos de ejecución, escritura o lectura para el archivo.

Supongamos que estamos dentro de un shell Zsh en un sistema operativo Linux y estás intentando ver el contenido de un archivo usando 'cat', pero recibes un error de 'permiso denegado'.

Para corregir este error, primero debemos ver los permisos del archivo. Ejecutamos "ls -l" para ver los permisos.

Como puede ver, los permisos son tales que solo el usuario root y el grupo raíz pueden leer el archivo, mientras que solo el usuario root puede escribir en el archivo.

1. Usando sudo

Para solucionar esto, la solución más sencilla es usar `sudo` con el comando que deseas ejecutar. Esto ejecutará el comando como usuario root. En tu caso, también puedes usar `sudo` cuando estés seguro de que el comando o la tarea que deseas ejecutar no dañará tu computadora.

Por tanto, podemos operar:

archivo sudo cat

2. Cambiar los permisos del archivo o archivos

El siguiente paso es cambiar los permisos del archivo. Dado que el error de "permiso denegado" suele deberse a permisos de lectura o escritura, podemos cambiar los permisos de este archivo o de los archivos en cuestión.

Al ejecutar 'ls -l' dentro del directorio donde se encuentra el archivo, podemos ver que el propietario del archivo y su grupo son root.

Podemos cambiar el propietario a nuestro usuario y luego hacer lo que queramos con el archivo.

Podemos operar:

sudo chown [usuario] [nombre de archivo]

En nuestro ejemplo, dado que v3n0m es el usuario con el que iniciamos sesión, emitiremos el comando de la siguiente manera:

archivo sudo chown v3n0m

v3n0m es nuestro nombre de usuario. En tu caso, sería tu nombre de usuario.

Ahora podemos ejecutar cat en el archivo porque ya no nos dará un error de permiso denegado.

3. Habilitar poderes de ejecución

Puedes usar ./ ​​con un nombre de archivo en Zsh u otros shells para ejecutar un archivo como programa. Sin embargo, si no se han configurado los permisos de ejecución para el archivo, recibirás el error "zsh: permiso denegado".

Supongamos que queremos ejecutar un script llamado script1. Escribimos ./script1 en nuestra terminal y obtenemos este error:

Ejecutamos `ls -la` en el archivo para ver los permisos. Como puede ver, los permisos de ejecución del archivo no están configurados.

La solución aquí es simple: agregar permisos de ejecución al archivo.
Emitimos una orden sencilla

chmod +x script1

` chmod +x` agregará el bit de ejecución a los permisos del archivo para el propietario, el grupo y otros.

Ahora podemos ejecutar el archivo como un programa escribiendo ` ./ script1` sin ningún error.

Este error debería resolverse por sí solo si lo encuentras en Linux; sin embargo, si lo encuentras en macOS o Gradle, continúa leyendo el artículo.

Editar su archivo zshrc (macOS)

Algunos usuarios de macOS han informado de un problema al usar `zsh` cuando no están dentro del directorio desde el que desean ejecutar un comando.

Si te encuentras con un problema similar la solución es muy sencilla.

Debes modificar el archivo ` .zshrc` en tu directorio ` home/username` y agregar esto al final del archivo.

establecer auto_cd

Esto habilitará la opción ` auto_cd` en `zsh`.

Para editar un archivo ` .zshrc` , puede utilizar cualquier editor de texto gráfico o editor de texto de línea de comandos, como `vim` o `vi`.

Uso del comando CHMOD para establecer permisos (Gradle)

El error “zsh: permiso denegado” puede ocurrir si está trabajando en Gradle y su archivo `gradlew` no tiene los permisos correctos.

Para corregir este error, debe configurar los permisos correctos en Gradlew.

Puedes escribir este comando en tu terminal,

chmod 755 gradlew

Esto hará que el archivo ` gradlew` sea ejecutable y se corregirá el error.

O simplemente puedes escribir este comando: ` chmod +x gradlew`

Esto también hará que el archivo 'gradlew' sea ejecutable.

Si ninguna de estas soluciones funciona para usted, no dude en comentar a continuación y nuestro técnico estará encantado de ayudarlo pronto.

 

Los comentarios están cerrados.