Permessi e sudo

Bentornato.
Nella lezione precedente hai imparato a leggere file e cercare al loro interno.
Ora entriamo nella parte in cui Linux inizia a dire:
“Permission denied.”
Non prenderla sul personale.
Linux non è arrabbiato.
Linux sta solo proteggendo il sistema dal caos, dagli errori e dalle dita assonnate con poteri da amministratore.
Cosa Imparerai
In questa lezione imparerai:
- cosa sono i permessi dei file;
- come leggere simboli come
rwx; - cosa significano utente, gruppo e altri;
- come controllare l’utente attuale con
whoami; - come usare
chmod; - cosa fa
sudo; - perché non dovresti usare
sudocome se fosse salsa piccante.
La Missione
La tua missione è semplice:
Capire perché alcuni file possono essere letti, modificati o eseguiti — e perché altri file rifiutano gentilmente le tue richieste come una guardia di sicurezza molto seria alla porta.
Controllare Chi Sei
Prima controlla il tuo utente attuale:
whoami
Potresti vedere qualcosa come:
viktor
Questo significa che stai lavorando come utente viktor.
Non sei root.
Ed è una buona cosa.
Essere root tutto il tempo è come guidare un carro armato per andare a comprare il pane.
Possibile, ma inutile e leggermente preoccupante.
Creare un File di Pratica
Vai nella tua cartella di pratica:
cd ~/terminal-practice
Se non esiste, creala:
mkdir -p ~/terminal-practice
cd ~/terminal-practice
Crea un file:
touch permissions-demo.txt
Ora mostralo con i dettagli:
ls -l permissions-demo.txt
Potresti vedere qualcosa come:
-rw-r--r-- 1 viktor viktor 0 May 2 10:00 permissions-demo.txt
All’inizio sembra spaventoso.
Ma non è magia.
Sono solo informazioni con una giacca seria.
Capire i Simboli dei Permessi
Guarda questa parte:
-rw-r--r--
Il primo carattere indica il tipo di file:
- significa file normale
d significa directory
Poi i permessi sono divisi così:
rw- r-- r--
Questi gruppi significano:
utente gruppo altri
Quindi:
rw- il proprietario può leggere e scrivere
r-- il gruppo può solo leggere
r-- gli altri possono solo leggere
Linux sta praticamente dicendo:
“Il proprietario può modificare questo file. Gli altri possono guardare, ma con le mani in tasca.”
Cosa Significano r, w e x
I permessi usano tre lettere:
r = read
w = write
x = execute
Per i file:
rsignifica che puoi leggere il file;wsignifica che puoi modificarlo;xsignifica che puoi eseguirlo come programma o script.
Per le directory:
rsignifica che puoi vedere il contenuto;wsignifica che puoi creare o eliminare file dentro;xsignifica che puoi entrare nella directory.
Sì, x su una directory significa “entrare”.
Linux ama rendere la vita interessante.
Aggiungere Testo al File
Scrivi qualcosa nel file:
echo "Permissions are important." > permissions-demo.txt
Leggilo:
cat permissions-demo.txt
Dovresti vedere:
Permissions are important.
Per ora tutto funziona.
Il file appartiene a te e puoi scriverci dentro.
Rimuovere il Permesso di Scrittura
Ora rimuovi il tuo permesso di scrittura:
chmod u-w permissions-demo.txt
Controlla:
ls -l permissions-demo.txt
Potresti vedere:
-r--r--r-- 1 viktor viktor 28 May 2 10:00 permissions-demo.txt
Ora prova a scriverci di nuovo:
echo "Trying to write again." > permissions-demo.txt
Potresti ottenere:
Permission denied
Bene.
Linux ha appena protetto il file dalle modifiche.
Anche da te.
Un po’ scortese, ma tecnicamente corretto.
Ripristinare il Permesso di Scrittura
Ridatti il permesso di scrittura:
chmod u+w permissions-demo.txt
Ora prova:
echo "Writing works again." > permissions-demo.txt
cat permissions-demo.txt
Dovresti vedere:
Writing works again.
Congratulazioni.
Hai rimosso un permesso, hai rotto il tuo stesso accesso e lo hai sistemato.
Questa è praticamente formazione Linux in miniatura.
Rendere uno Script Eseguibile
Crea un piccolo script:
echo 'echo "Hello from my script!"' > hello.sh
Prova a eseguirlo:
./hello.sh
Potresti vedere:
Permission denied
Perché?
Perché il file non è ancora eseguibile.
Aggiungi il permesso di esecuzione:
chmod u+x hello.sh
Ora eseguilo:
./hello.sh
Dovresti vedere:
Hello from my script!
Questo è ciò che fa x.
Dice a Linux:
“Questo file può essere eseguito.”
Permessi Numerici
Potresti vedere comandi come:
chmod 755 hello.sh
Questo è lo stile numerico dei permessi.
I numeri significano:
7 = read + write + execute
5 = read + execute
5 = read + execute
Quindi 755 significa:
il proprietario può leggere, scrivere ed eseguire
il gruppo può leggere ed eseguire
gli altri possono leggere ed eseguire
Un altro valore comune:
chmod 644 permissions-demo.txt
Significa:
il proprietario può leggere e scrivere
il gruppo può leggere
gli altri possono leggere
Per ora ricorda:
644è comune per file normali;755è comune per script e directory.
Non devi memorizzare tutto oggi.
Il tuo cervello non è una chiavetta USB.
Che Cos’è sudo?
sudo significa “esegui questo comando con privilegi di amministratore”.
Esempio:
sudo pacman -S htop
Su Ubuntu o Debian:
sudo apt install htop
Su Fedora:
sudo dnf install htop
sudo si usa quando un comando ha bisogno di privilegi più alti.
Per esempio:
- installare software;
- modificare file di sistema;
- riavviare servizi;
- modificare configurazioni protette.
sudo è potente.
Non usarlo automaticamente.
Usare sudo ovunque è come aprire ogni porta con una motosega.
Efficace, ma non elegante.
Errore Comune di Permessi
Potresti vedere:
Permission denied
Di solito significa:
- non hai il permesso di leggere il file;
- non hai il permesso di scrivere nel file;
- non hai il permesso di eseguire il file;
- stai cercando di modificare qualcosa che appartiene a un altro utente o a root.
Prima di usare sudo, chiediti:
Mi serve davvero il potere da amministratore qui?
A volte sì.
A volte la risposta è: “No, Viktor, sei solo nella cartella sbagliata.”
Attenzione con sudo
Questo è pericoloso:
sudo rm -r /some/system/folder
Può eliminare file importanti del sistema.
Linux farà esattamente quello che chiedi.
Non quello che intendevi.
Questa è la differenza tra un computer e un amico saggio.
Pratica
Prova questo:
cd ~/terminal-practice
touch permission-test.txt
ls -l permission-test.txt
chmod u-w permission-test.txt
ls -l permission-test.txt
chmod u+w permission-test.txt
ls -l permission-test.txt
echo 'echo "Script works!"' > test-script.sh
chmod u+x test-script.sh
./test-script.sh
Poi rispondi:
- Cosa mostra
whoami? - Cosa fa
chmod u-w? - Cosa fa
chmod u+w? - Cosa fa
chmod u+x? - Cosa ti permette di fare
sudo?
Mini Sfida
Crea uno script chiamato my-info.sh.
Deve stampare:
Hello from Linux!
Today I am learning permissions.
Poi:
- Crea il file.
- Prova a eseguirlo.
- Aggiungi il permesso di esecuzione.
- Eseguilo di nuovo.
- Controlla i permessi con
ls -l.
Usa solo comandi del terminale.
Niente mouse.
Il mouse ha ormai aperto una segnalazione alle risorse umane.
Riassunto
Oggi hai imparato che:
- Linux usa i permessi per proteggere file e directory;
rsignifica read;wsignifica write;xsignifica execute;- i permessi sono divisi tra utente, gruppo e altri;
ls -lmostra i permessi;chmodcambia i permessi;sudoesegue comandi con privilegi di amministratore;sudova usato con attenzione.
I permessi possono sembrare strani all’inizio, ma sono uno dei motivi per cui Linux è potente e sicuro.
Linux dice “no” non perché ti odia.
Dice “no” perché a volte sei a un solo comando da un disastro molto educativo.
Prossima Lezione
Nella prossima lezione impareremo a installare software dal terminale usando i package manager.
È lì che Linux diventa molto comodo.
E dove gli utenti Arch Linux iniziano a sorridere in modo misterioso.