Lezioni del modulo (1/2)
Gestione dei permessi (chmod)
In Linux, l'accesso a file e cartelle è regolato da un sistema di permessi. Ogni file/cartella appartiene a un utente proprietario e a un gruppo di utenti.
I permessi sono divisi in tre categorie di destinatari:
- User (u): Il proprietario del file.
- Group (g): I membri del gruppo associato al file.
- Others (o): Tutti gli altri utenti sul sistema.
Per ciascuna categoria, ci sono tre tipi di azioni permesse o negate:
- Read (r): Leggere il file o elencare il contenuto di una cartella.
- Write (w): Modificare il file o creare/eliminare file in una cartella.
- Execute (x): Eseguire un file (es. uno script) o entrare in una cartella.
Notazione tipica visualizzata da ls -l: -rwxr-xr-x.
Il primo carattere indica il tipo (es. - per file, d per directory), seguito da tre triplette per user, group e others.
Modificare i permessi: chmod
Il comando chmod (change mode) consente di modificare i permessi di un file. Esistono due modi principali per specificarli:
1. Modalità Simbolica
Utilizza lettere e operatori (+, -, =) per aggiungere, rimuovere o impostare i permessi:
chmod u+x script.sh # Aggiunge il permesso di esecuzione (x) al proprietario (u)
chmod g-w file.txt # Rimuove il permesso di scrittura (w) al gruppo (g)
chmod a+r file.txt # Rende il file leggibile da chiunque (all: u, g, o)2. Modalità Ottale (Numerica)
Utilizza tre cifre ottali da 0 a 7, dove ciascuna cifra rappresenta la somma dei permessi della categoria (r=4, w=2, x=1):
7=rwx(4 + 2 + 1)6=rw-(4 + 2)5=r-x(4 + 1)4=r--(4)0=---(nessun permesso)
chmod 755 script.sh # Proprietario: rwx (7), Gruppo: r-x (5), Altri: r-x (5)
chmod 600 private.key # Proprietario: rw- (6), Gruppo: --- (0), Altri: --- (0)Prova tu
Esercizio 1: Imposta permessi standard
Imposta i permessi sul file 'script.sh' in modo che il proprietario possa leggere, scrivere ed eseguire il file (rwx), mentre il gruppo e gli altri possano solo leggerlo ed eseguirlo (r-x). Usa la modalità ottale.
Mostra suggerimento
Il codice ottale per rwx è 7 (4+2+1), mentre per r-x è 5 (4+1). Quindi usa chmod 755.
Soluzione disponibile dopo 3 tentativi
Esercizio 2: Proteggi una chiave privata
Modifica i permessi del file 'private.key' per renderlo leggibile e modificabile (rw-) solo dal proprietario, rimuovendo qualsiasi accesso a gruppo e altri (---).
Mostra suggerimento
Usa chmod con codice ottale 600 (proprietario ha 4+2, gruppo 0, altri 0).
Soluzione disponibile dopo 3 tentativi
Esercizio 3: Rendi eseguibile un file per tutti
Rendi il file 'runner.sh' eseguibile per tutte le categorie di utenti usando la modalità simbolica (a+x).
Mostra suggerimento
Usa la sintassi chmod a+x seguita dal nome del file.
Soluzione disponibile dopo 3 tentativi