Mentre stai utilizzando il terminale di comando Linux può capitare che esca fuori il messaggio di errore che riporta: “Permession denied“, che in italiano significa “permesso negato“. Per chi è già pratico con Linux dovrebbe essere chiaro che si tratta di un problema di permessi sul filesystem, che – per poter superare l’ostacolo – dovremo adeguare al fine di poter lanciare il comando desiderato. Ad essere negata, infatti, è precisamente l’esecuzione di un comando specifico, ad esempio un file con estensione .sh che non può essere eseguito, da cui l’errore in questione.
Nota. A differenza di Windows, il sistema operativo Linux permette di rendere qualsiasi file “eseguibile” con il comando chmod +x nomefile, nel senso di lanciabile o utilizzabile per eseguire dei comandi. Un’app Linux, pertanto, o un qualsiasi processo o programma dovrà avere questi permessi per poter essere eseguito, a differenza del sistema Microsoft che invece usa i file .exe e li classifica come eseguibili in questo modo.
Cosa significa l’errore Permission denied in Linux?
In genere l’errore “Permission denied” si verifica quando lo script della shell che stai tentando di eseguire non dispone delle autorizzazioni necessarie per l’esecuzione. Linux e altri sistemi operativi derivati sono molto attenti agli aspetti legati alla sicurezza: solo gli utenti con privilegi amministrativi di alto livello, detti anche sudo o root, sono in grado di effettuare quanto richiesto. Se questi permessi non vengono rispettati, scatta di conseguenza il problema in questione.
Ora, consideriamo l’esempio riportato di seguito. Se da terminale Linux o SSH lanciamo il comando seguente:
./script-esempio.sh
(il ./ serve a dire al terminale che deve lanciare il file script-esempio.sh) potremmo ottenere un errore del tipo:
bash: ./script-esempio.sh: Permission denied
Questo è l’output di esecuzione dell’errore restituito da Linux.
Come risolvere l’errore Permission denied da terminale?
Per correggere l’errore di autorizzazione negata in Linux, è necessario modificare l’autorizzazione del file dello script. Per farlo si fa uso normalmente del comando chmod. Per verificare le autorizzazioni correnti sul file in questione, per rimanere nel nostro esempio script-esempio.sh, eseguire il comando:
ls -l script-esempio.sh
Grazie al comando chmod possiamo usare un codice numerico o alfanumerico al fine di cambiare i permessi, e dare quelli di esecuzioni ai gruppi sistema e utente, come minimo. La sintassi di chmod di cui abbiamo bisogno sarà pertanto del tipo:
chmod +x script-esempio.sh
Dopo aver eseguito il comando in questione, avremo reso eseguibile il file in questione per cui l’errore non dovrebbe più apparire.
./samplescript.sh
funzionerà quindi regolarmente.
👇 Da non perdere 👇
- 📈 Analizza Cellulari 📱
- 🔐 AI che dolor, Chat 🏴
- 🎯 Targetizza Database SQL 🗄
- 📊 Analizza Errori più comuni 📛
- 🚧 Costruisci Evergreen 📟
- 👩💻 Programma Gratis 🎉
- 💻 Configura Hosting a confronto 💑
- 🔒 Conosci Hosting reti e domini 💻
- 👩💻 Tapioca Informatica 🖥
- 💻 Iconizza Internet 💻
- 🔒 Gestisci Lavoro 🔧
- 💡 Mostra Marketing & SEO 🌪
- 🔑 Apprendi Meteo ⛅
- 🤯 Visiona Mondo Apple 🍎
- 🔍 Supervisiona Mondo Domini 🌐
- 🚀 Metti in cloud monitoraggio servizi online 📈
- 🔮 Anatomizza Nuove tecnologie 🖥
- 🔒 Antani PEC e firma digitale 📩
- 👀 Prematura Programmare 🖥
- 🎮 Lonfa Scrivere 🖋
- 🔒 Conosci Servizi di SMS 📶
- 👀 Guarda Sicurezza informatica e privacy digitale 🖥
- 🎮 Ricorda Siti web 🌎
- 🤖 Ottimizza Spiegoni artificiali 🎓
- 🧠 Neuralizza Svago 🎈
- 📡 Quantizza Usare Excel 🌀
- 🤖 Sovrascrivi Windows 😲
- 🎨 Personalizza Wireless 🚁
- 🔑 Decifra WordPress 🤵
- 💬 Il nostro canale Telegram: iscriviti
- 🟢 WannaCry (ransomware): tutto quello che c’è da sapere in 9 punti
- 🔴 Che cos’è l’esame PET
- 🟡 10 servizi di hosting per avviare rapidamente il tuo business online