Vai al contenuto
eLearner.app
Modulo 4 · Lezione 1 di 28/11 nel corso~12 min
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:

  1. User (u): Il proprietario del file.
  2. Group (g): I membri del gruppo associato al file.
  3. 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:

Bash
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)
Bash
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

Esercizio#linux.m4.l1.e1
Tentativi: 0Caricamento…

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.

Caricamento editor…
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

Esercizio#linux.m4.l1.e2
Tentativi: 0Caricamento…

Modifica i permessi del file 'private.key' per renderlo leggibile e modificabile (rw-) solo dal proprietario, rimuovendo qualsiasi accesso a gruppo e altri (---).

Caricamento editor…
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

Esercizio#linux.m4.l1.e3
Tentativi: 0Caricamento…

Rendi il file 'runner.sh' eseguibile per tutte le categorie di utenti usando la modalità simbolica (a+x).

Caricamento editor…
Mostra suggerimento

Usa la sintassi chmod a+x seguita dal nome del file.

Soluzione disponibile dopo 3 tentativi