Correzione dell'errore zsh: Permessi negati in Linux o macOS

L'errore "zsh: permission denied" si verifica quando si tenta di eseguire un comando su Linux o Mac senza disporre dei privilegi di esecuzione necessari. Può trattarsi di qualcosa di semplice come l'esecuzione di `ls` su una directory in cui non si dispone di privilegi di scrittura, o l'esecuzione di uno script che esegue azioni che l'utente non è autorizzato a eseguire. Per "privilegi" intendiamo i permessi di lettura o scrittura.

Diamo un'occhiata alla causa principale di questo errore e poi possiamo provare ciascuna soluzione per vedere quale sia la migliore.

Questo errore si verifica principalmente quando non si dispone delle autorizzazioni di esecuzione, scrittura o lettura per il file.

Supponiamo di trovarci all'interno di una shell Zsh su un sistema operativo Linux e di provare a visualizzare il contenuto di un file utilizzando 'cat', ma di ricevere un errore 'permesso negato'.

Ora, per correggere questo errore, dobbiamo prima visualizzare i permessi del file. Eseguiamo “ls -l” Per visualizzare le autorizzazioni.

Come puoi vedere, i permessi sono tali che solo l'utente root e il gruppo root possono leggere il file, mentre solo l'utente root può scriverci.

1. Utilizzo di sudo

Per risolvere questo problema, la soluzione più semplice è usare 'sudo' Con il comando che vogliamo eseguire. Questo eseguirà il comando come utente root. Nel tuo caso, puoi anche usare 'sudo' quando sei sicuro che il comando che vuoi eseguire o l'attività che vuoi eseguire non danneggerà il tuo computer.

Possiamo quindi operare:

file sudo cat

2. Modifica dei permessi del file o dei file

Il passo successivo che possiamo compiere è modificare i permessi del file. Poiché l'errore "permesso negato" è solitamente causato da permessi di lettura o scrittura, possiamo modificare i permessi di questo file o dei file in questione.

Implementando 'ls -l' All'interno della directory in cui si trova il file, possiamo vedere che il proprietario del file e il suo gruppo sono root.

Possiamo cambiare il proprietario con il nostro utente e poi fare quello che vogliamo con il file.

Possiamo operare:

sudo chown [utente] [nome-file]

Nel nostro esempio, poiché v3n0m è l'utente con cui abbiamo effettuato l'accesso, eseguiremo il comando come segue:

sudo chown v3n0m file

v3n0m è il nostro nome utente. Nel tuo caso, sarebbe il tuo nome utente.

Ora possiamo eseguire cat sul file perché non ci darà più un errore. permesso negato.

3. Abilitare poteri di esecuzione

È possibile utilizzare ./ con un nome file in Zsh o altre shell per eseguire un file come programma. Tuttavia, se i permessi di esecuzione non sono impostati per il file, verrà visualizzato l'errore "zsh: permission denied".

Supponiamo di voler eseguire uno script chiamato script1. Digitiamo ./script1 nel terminale e otteniamo questo errore:

Eseguiamo `ls -la` sul file per verificarne i permessi. Come potete vedere, i permessi di esecuzione sul file non sono impostati.

La soluzione in questo caso è semplice: aggiungere i permessi di esecuzione al file.
Emettiamo un ordine semplice

chmod +x script1

Aggiungerà `chmod + x` Implementazione على Autorizzazioni sui file per proprietario, gruppo e altri.

Ora possiamo eseguire il file come programma digitando `./script1Senza alcun errore.

Se riscontri questo errore su Linux, questo dovrebbe risolversi da solo; se invece riscontri questo errore su macOS o Gradle, continua a leggere l'articolo.

Modifica il tuo file zshrc (macOS)

Alcuni utenti macOS hanno segnalato un problema quando utilizzano `zsh` quando non si trovano all'interno della directory da cui desiderano eseguire un comando.

Se riscontri un problema simile, la soluzione è molto semplice.

Devi modificare il file `.zshrcNella guidahome/nome utenteIl tuo e aggiungilo alla fine del file.

setopt auto_cd

Ciò consentirà `auto_cd` in `zsh`.

Per modificare un file.zshrc`, puoi usare qualsiasi editor di testo grafico o editor di testo da riga di comando come `vim` o `vi`.

Utilizzo del comando CHMOD per impostare i permessi (Gradle)

L'errore "zsh: permission denied" può verificarsi se stai lavorando su Gradle e il tuo file `gradlew` non ha le autorizzazioni corrette.

Per correggere un errore del genere, è necessario impostare I permessi corretti su gradlew.

Puoi digitare questo comando nel tuo terminale,

chmod 755 gradlew

Questo renderà il file `gradlewÈ fattibile e l'errore verrà corretto.

Oppure puoi semplicemente digitare questo comando:chmod +x gradlew`

Ciò renderà eseguibile anche il file `gradlew`.

Se nessuna di queste soluzioni funziona per te, sentiti libero di lasciare un commento qui sotto e il nostro tecnico sarà felice di aiutarti al più presto.

 

I commenti sono chiusi.