← Back to course

Permessi e sudo

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:

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:

Per le 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:

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:

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:

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:

  1. Cosa mostra whoami?
  2. Cosa fa chmod u-w?
  3. Cosa fa chmod u+w?
  4. Cosa fa chmod u+x?
  5. 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:

  1. Crea il file.
  2. Prova a eseguirlo.
  3. Aggiungi il permesso di esecuzione.
  4. Eseguilo di nuovo.
  5. 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:

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.