Summary: Questo post è una guida breve e semplice sui motivi per cui si riceve l'errore Zsh permission denied che appare nel Terminale di macOS e sui modi per risolverlo, oltre che per evitare che l'errore si verifichi in primo luogo.
State aprendo un file e avete deciso di farlo con l’aiuto dell’applicazione Terminale. Un attimo dopo vedete l’errore Zsh permission denied. Come risolvere il problema? Per prima cosa, analizziamo la radice del problema.
Per cosa sta Zsh?
Zsh o la cosiddetta shell Z è una shell Unix. È una shell predefinita di macOS progettata sulla base di bash. In altre parole, è la shell predefinita di macOS (e una shell è l’interfaccia che fornisce l’accesso ai servizi di un sistema operativo). Zsh viene usata più spesso di Bash (“bourne again shell”) perché è più potente e ha un numero maggiore di funzioni.
Che cos’è l’errore Zsh Permission Denied?
Il problema si presenta quando il Terminale non riesce a completare l’operazione perché semplicemente non riesce ad accedere al file. Il file è bloccato, il comando è stato formattato in modo errato oppure i permessi del file sono insufficienti.
Modi per risolvere l’errore Zsh Permission Denied su Mac
A. Controllo dei permessi del disco
Dal momento che abbiamo parlato dei permessi dei file, iniziamo da questi.
Per controllare i permessi del disco tramite il Terminale:
1. Aprite il Terminale e incollate il seguente comando: ls -l. Aggiungete uno spazio dopo il comando e non premete Invio per il momento.
2. Trovate il file che dovete aprire > trascinatelo nella finestra del Terminale (questo non sposterà effettivamente l’elemento, ma servirà allo scopo).
3. Premere Return.
Se le lettere “rwxr” compaiono prima del vostro nome utente nella stringa dei risultati, significa che avete accesso alla lettura, alla scrittura e all’esecuzione del file. Se c’è solo un segno, ad esempio “r”, significa che il file è di sola lettura.
Se si controllano i permessi del disco del file attraverso il Finder:
1. Individuare il file desiderato nella finestra del Finder.
2. Premere Command + I per aprire l’opzione Ottieni informazioni. Individuare Condivisione e autorizzazioni nella parte inferiore della finestra.
3. Nel caso in cui non si veda nulla sotto di esso, trovare la freccia e fare clic su di essa.
Le autorizzazioni dovrebbero ora essere visibili. Per avere l’accesso necessario, dovrebbe essere indicato “Lettura e scrittura”.
B. Cambiare la proprietà della directory per risolvere il problema dei permessi negati in Zsh
Proviamo a cambiare la proprietà della directory:
Aprite nuovamente il Terminale e utilizzate il comando chown -R $USER:$USER /path/to/directory.
Dove $USER è l’utente attualmente connesso e /path/to/directory – il luogo in cui si sta scrivendo.
C. Concedere l’accesso al disco al terminale se non ha un accesso completo
Se è il caso del Terminale, questo potrebbe essere un altro motivo per l’errore di Zsh permission denied.
Per verificare se ciò è vero e consentire l’accesso al disco, procedere come segue:
- Aprire Preferenze di sistema.
- Trovate Sicurezza e privacy.
- Scegliere quindi la scheda Privacy.
- Fare clic sul lucchetto nell’angolo inferiore sinistro > digitare la password di amministrazione per applicare le modifiche.
- Dall’elenco scegliere Terminal e toccare il segno accanto per aggiungerlo all’elenco degli accessi completi.
Nota: se Terminal non è presente nell’elenco (questo può accadere nelle versioni più recenti di macOS), dovrete aggiungerlo manualmente facendo clic sul pulsante + e cercando Terminal nella barra di ricerca. Successivamente, dovrete uscire da Terminal per applicare le modifiche.
D. Utilizzare un comando Sudo
Se nessuna delle soluzioni precedenti è stata utile, utilizzate un superpotere: un comando Sudo. In parole povere, un comando Sudo è l’acronimo di superuser do, quando un utente autorizzato ottiene i privilegi di superutente o esegue un comando come un altro utente. Quando si utilizza il comando per la prima volta, viene richiesta la password dell’utente corrente (non di quello root).
Ecco i comandi che si possono provare:
- sudo chmod 755 ~/Temi/ObsidianCode.xccolortheme
- sudo chmod 755 /dvtcolorconvert.rb
Esiste un modo per prevenire gli errori di autorizzazione negata del terminale su Mac?
Sì, in realtà ce ne sono quattro. Continuate a leggere per saperne di più.
A. Assegnare le autorizzazioni a utenti e gruppi
Assegnare le autorizzazioni a un certo numero di utenti e gruppi per evitare problemi di autorizzazione. Per fare ciò:
- Scegliere un file, una cartella o un disco, quindi aprire File > Ottieni informazioni.
- Toccare il simbolo del lucchetto per sbloccare l’elemento. Se vengono richiesti il nome e la password dell’amministratore, inserirli.
- Dalla colonna Nome scegliere un utente o un gruppo, per aprire il menu a comparsa > fare clic sull’opzione Impostazione privilegiata.
Ecco cosa significa ogni permesso:
- Sola lettura: è possibile accedere all’elemento senza modificarlo.
- Solo scrittura: una cartella diventa un DropBox, dove l’utente può copiare un elemento e spostarlo senza aprire il file stesso.
- Lettura e scrittura: autorizzazione a visualizzare e modificare il file.
B. Concessione di autorizzazioni a tutti gli elementi di una cartella
L’assegnazione di autorizzazioni a tutti gli elementi presenti su un disco o in una determinata cartella significa che l’accesso a tali elementi è consentito solo a determinati utenti:
- Selezionare una directory (disco o cartella) > quindi andare su File nella barra dei menu.
- Fare clic su Ottieni informazioni.
- Fare clic sul lucchetto e digitare la password di amministrazione.
- Controllare la parte inferiore della finestra >scegliere di applicare agli elementi chiusi.
- Fare clic su OK per applicare le modifiche necessarie.
C. Cambiare il proprietario di un elemento
Se il proprietario di un elemento è un altro utente, possono verificarsi problemi di autorizzazione Zsh negata in Mac Terminal.
Per cambiare il proprietario di un file:
- Andate su File dell’elemento scelto > Ottieni informazioni.
- Aggiungere il nuovo proprietario con il pulsante Aggiungi (+), utilizzando il menu a comparsa dell’azione.
- Quindi fare clic su Rendi [il proprietario scelto] come proprietario di un elemento.
- Salvare le modifiche.
D. Aggiungere o rimuovere un utente o un gruppo
Anche l’aggiunta o la rimozione di un utente o di un gruppo può risolvere i problemi di autorizzazione.
Ecco come fare:
- Trovare l’elemento desiderato.
- Andare su File > toccare Ottieni informazioni.
- Cercare Condivisione e autorizzazioni.
- Cliccare su Aggiungi (segno +) un utente o un gruppo se si desidera aggiungerne uno, oppure cliccare su Rimuovi (segno -) un utente o un gruppo per rimuoverlo.
- Fare clic per applicare le modifiche.
Conclusione
Se vi capita di decidere di aprire un file non facendo doppio clic su di esso, ma di farlo con il Terminale, probabilmente c’è un motivo per cui avete deciso di usare il modo meno convenzionale. I problemi di accesso agli elementi in questo modo non sono rari e speriamo che le nostre semplici linee guida vi aiutino a risolvere l’errore in poco tempo e con poco sforzo. Poiché si tratta fondamentalmente di un problema di permessi, la prima cosa da fare è controllare tutti i permessi possibili o verificare se l’utente con cui si è connessi ha accesso sufficiente.