Se hai familiarità con i comandi Unix, il Terminale è un ottimo strumento per avviare processi e attività. Di solito, se si inseriscono i comandi corretti, tutto fila liscio. Qualche volta però, potrebbe comparire un messaggio di errore, come "permission denied". In questo articolo, ti spieghiamo come affrontarlo.

Cos'è il Terminale?

Il Terminale è un'app che consente di controllare il Mac e avviare processi e attività attraverso un'interfaccia a riga di comando. Grazie al kernel Unix di macOS, riesce a interpretare ed eseguire comandi Unix standard. Fino a macOS Catalina, la shell di default del Terminale era bash. Ora, è zsh che per alcune attività è più semplice da usare e non richiede permessi utente di livello elevato come bash. Puoi scoprire qual è la shell utilizzata sul tuo dispositivo guardando in alto, in una delle finestre del Terminale.

Perché si usa il Terminale?

Ci sono diversi motivi per cui agli utenti Mac piace usare il Terminale. Se si ha familiarità con i comandi Unix, il Terminale è un modo rapido per avviare processi e attività. Inoltre, permette di accedere a luoghi reconditi del macOS, non accessibili dalle Impostazioni di Sistema. Così, è possibile modificare anche impostazioni per cui altrimenti bisognerebbe ricorrere a un'app di terze parti. Ad esempio, per cambiare la tipologia di file di default delle istantanee da .png a .jpg, puoi avvalerti del Terminale.

Cosa significa "permesso negato"?

Se vedi questo messaggio di errore, significa che il Terminale non riesce a eseguire il comando che hai inserito, perché non può accedere al file su cui vuoi intervenire. Come suggerisce il nome dell'errore, il motivo per cui non riesce ad accedervi è che non ha i permessi necessari. Le cause possono essere diverse, ma di solito succede perché:

  • Non hai il permesso di scrivere il file;
  • Il file è bloccato;
  • Il comando che stai tentando di eseguire non è formattato correttamente.

Come risolvere l'errore "permesso negato" nel Terminale

Ora passiamo alle soluzioni. Inizieremo dalla più semplice e poi vedremo quelle manuali.

Un modo più semplice per risolvere i problemi del Terminale

Potrebbe anche essere che l'errore "permission denied" sia dovuto a un problema del terminale stesso. Per risolvere il problema puoi resettare l'app, il modo più semplice per riuscirci è servirsi di un utile strumento che si chiama CleanMyMac X. CleanMyMac X ha diversi moduli per liberare spazio, ottimizzare il Mac, proteggerlo dai malware e soprattutto, nel nostro caso, risolvere problemi. L'app è autenticata da Apple ed è possibile scaricarla gratis da qui.

  1. Avvia CleanMyMac X e scegli il modulo Disinstallazione nella barra di sinistra.
  2. Utilizza la barra di ricerca per trovare il Terminale.
  3. Fai clic sulla freccia accanto alla dimensione del file.
  4. Spunta le caselle accanto a Preferenze, File di supporto ed Elementi di login.
  5. Clicca sulle frecce accanto a Terminale e scegli Resetta.
  6. Premi il pulsante Ripristina.
Consiglio

Per permettere a CleanMyMac X di ripristinare le app predefinite di Mac, vai nelle Preferenze di CleanMyMac X. Poi, clicca Lista Ignora > Disinstallazione. Togli la spunta dalla casella accanto a "Ignora applicazioni di sistema".

Controlla i permessi dei file

Esistono due modi per farlo, puoi passare dal Finder o dal Terminale. Ti illustriamo entrambi i metodi qui sotto.

Terminale

  1. Avvia il Terminale e digita questo comando, seguito da uno spazio:
    ls -l
  2. Cerca il file o la cartella su cui volevi intervenire quando è comparso il messaggio di errore e trascinalo nella finestra del Terminale.
  3. Premi Invio.
  4. Se nei risultati, nella stringa di caratteri prima del tuo nome utente, vedi le lettere rwxr significa che puoi leggere, scrivere ed eseguire il file. Se, ad esempio, vedi solo r significa che il file è in sola lettura.

Finder

  1. Cerca il file o la cartella nel Finder.
  2. Fai clic su Comando + I per aprire la finestra Ottieni informazioni.
  3. Guarda in basso nella finestra dove dice Condivisione e permessi. Se non vedi niente sotto, clicca sulla freccia accanto.
  4. Controlla la colonna Privilegio accanto al tuo nome utente. Dovresti vedere "Lettura e scrittura".

Modifica i permessi dei file

Se i permessi che hai appena controllato non ti permettono di scrivere un file, probabilmente hai individuato la causa dell'errore "permesso negato". Per risolvere dal Finder, non devi far altro che cliccare sulla colonna Privilegio, accanto al tuo nome utente nella finestra Ottieni informazioni, e scegliere l'opzione "Lettura e scrittura".

Per modificare i permessi dal Terminale, fai così:

  1. Digita questo comando seguito da uno spazio: chmod 755
  2. Trascina il file o la cartella nella finestra del Terminale.
  3. Premi Invio.
  4. I permessi del file o della cartella saranno modificati in lettura, scrittura ed esecuzione.

Cambia il proprietario della directory

Se cambiare i permessi non ha risolto il problema, prova a modificare il proprietario della directory inserendo il tuo nome utente. Nei passaggi qui sotto, cambia [username] con il tuo nome utente e [directorypath] con il percorso della directory di cui vuoi cambiare il proprietario. Puoi semplicemente trascinare la cartella nel Terminale, come abbiamo fatto prima.

  1. Digita: chown -R $[username]:[username] [directorypath]
  2. Premi Invio.

L'errore "Permission denied" del Terminale di solito è causato da problemi di permessi dei file o delle directory su cui vuoi intervenire. Nella maggior parte dei casi puoi risolvere cambiando i permessi o il proprietario. Se non dovesse funzionare, assicurati di aver digitato correttamente i comandi oppure usa CleanMyMac X per resettare l'app Terminale.