Home
» MAC OS X
»
Come risolvere l'errore "Impossibile eseguire il file perché non si dispone delle autorizzazioni di accesso appropriate" su macOS
Come risolvere l'errore "Impossibile eseguire il file perché non si dispone delle autorizzazioni di accesso appropriate" su macOS
Se uno .commandscript attendibile genera il messaggio "Impossibile eseguire il file perché non si dispone dei privilegi di accesso appropriati", in genere necessita dell'autorizzazione di esecuzione. Nel Terminale, aggiungi tale autorizzazione per il tuo account con chmod u+x, quindi esegui nuovamente lo script. Questa operazione modifica il bit di autorizzazione del file; non verifica lo script né aggira i controlli di sicurezza di macOS, quindi controlla il file e assicurati che la sua origine sia attendibile prima di eseguirlo.
Prima di modificare i permessi, controlla il file
Assicurati che il file termini effettivamente con l'estensione corretta .commande che tu sappia da dove proviene. Uno script di comando può eseguire comandi del Terminale con i permessi del tuo account. Se non ti aspettavi questo file o non puoi verificarne la provenienza, non eseguirlo. Aprilo con un editor di testo per esaminarne il contenuto oppure richiedi una copia pulita allo sviluppatore.
La finestra "Ottieni informazioni" del Finder è utile per controllare il nome di un file e le autorizzazioni di condivisione generali, ma non offre un semplice controllo per aggiungere il bit di esecuzione della shell a uno script. Apple documenta chmodil metodo "Terminale" per rendere eseguibile uno script di shell nella sua Guida per l'utente del Terminale .
Esempio di visualizzazione di uno script .command nella cartella Download tramite Finder.
Correggere il permesso di esecuzione
Apri il Terminale. Usa Spotlight oppure apri Applicazioni > Utility > Terminale.
Concedi i permessi di esecuzione al tuo account. Per uno script nella cartella Download denominato script.command, inserisci questo comando e premi Invio:
chmod u+x "$HOME/Downloads/script.command"
Sostituisci il percorso e il nome del file di esempio con il percorso effettivo. Mantieni il percorso tra virgolette, soprattutto se la cartella o il nome del file contengono spazi. Puoi anche digitare chmod u+x (spazio finale incluso) e trascinare il file dal Finder nella finestra del Terminale per inserirne il percorso. Non digitare letteralmente le parole "percorso del file".
Il comando chmod u+x aggiunge i permessi di esecuzione per il proprietario del file.
Il comando normalmente restituisce un prompt senza visualizzare un messaggio di successo. uindica il proprietario del file e +xaggiunge il permesso di eseguirlo. Questo è più restrittivo rispetto a rendere lo script eseguibile per ogni account sul Mac. Non dovrebbe richiedere una password di amministratore quando si è proprietari del file e si possono modificare i permessi.
Esegui lo script. Se si trova nella cartella Download, inserisci:
cd "$HOME/Downloads"
./script.command
Puoi anche fare doppio clic sul file nel Finder dopo averne modificato i permessi. Eseguirlo dal Terminale è utile perché ti permette di leggere eventuali messaggi di errore o output. Se macOS visualizza un avviso quando incolli un comando nel Terminale, leggilo prima di procedere.
Esempio di sessione del terminale dopo l'esecuzione dello script dalla sua cartella.
Se l'errore persiste, verifica le autorizzazioni.
Per visualizzare i permessi del file, eseguire:
ls -l "$HOME/Downloads/script.command"
Quando l'account corrente è il proprietario del file e ha l'autorizzazione di esecuzione impostata, il primo gruppo di autorizzazioni dovrebbe includere un x, come . La guida alle autorizzazioni per Mac-rwx di Apple spiega come l'accesso a file e cartelle differisce tra gli utenti.
Utilizza il comando ls -l per verificare che la stringa dei permessi del proprietario includa la lettera x.
Il comando restituisce il messaggio "File o directory non esistente". Il percorso o il nome del file non corrispondono. In Finder, verifica il nome e la posizione, quindi ripeti il comando con il percorso corretto.
Viene visualizzato il messaggio "Operazione non consentita" o "Autorizzazione negata". Potresti non essere il proprietario del file oppure la cartella principale potrebbe non consentire l'accesso. Sposta una copia in una cartella di tua proprietà, come Download, oppure chiedi al proprietario del file o all'amministratore del tuo Mac di correggere l'accesso. Evita di aggiungere sudocome primo passaggio.
Il file ha i permessi di esecuzione, ma non verrà comunque eseguito. Verifica che il file sia uno script valido e che la sua prima riga indichi un interprete disponibile. Se il messaggio fa riferimento a un'app che Apple non può controllare, a uno sviluppatore non identificato o a un malware, si tratta di un avviso separato di Gatekeeper o di un avviso relativo a malware, non di un errore di autorizzazione all'esecuzione.
Non compromettere la sicurezza di macOS per correggere un permesso di file.
Non utilizzare chmod a+xa meno che tu non voglia intenzionalmente che altri account locali abbiano i permessi di esecuzione ed evitare comandi generici come chmod -Ro la modifica dei permessi nelle cartelle di sistema. Per annullare il bit di esecuzione aggiunto per il tuo account, esegui chmod u-x "$HOME/Downloads/script.command".
Per un avviso di verifica di un'app, segui le indicazioni di Apple per aprire le app in modo sicuro solo dopo aver verificato che provengano da una fonte attendibile. Non ignorare un avviso che segnala che un software potrebbe danneggiare il computer o che macOS ha rilevato malware. Apple documenta anche le nuove protezioni per gli script di Terminal nella sua guida "Protezioni di Terminal e script" .