I Permessi sui File in Linux: Capire `rwx` e il Comando `chmod`

Linux

Linux è un sistema operativo multiutente, e una parte fondamentale della sua sicurezza risiede nel modo in cui gestisce i permessi sui file e sulle directory. Ogni file appartiene a un utente e a un gruppo, e ha permessi specifici per tre categorie di persone.

Le Tre Categorie e i Tre Permessi

Eseguendo il comando `ls -l`, vedrai una stringa come `-rwxr-xr--`. Il primo trattino indica che è un file (una `d` indicherebbe una directory). I nove caratteri successivi sono i permessi, divisi in tre gruppi da tre:

  1. Owner (Proprietario): I primi tre caratteri (`rwx`) si applicano al proprietario del file.
  2. Group (Gruppo): I secondi tre (`r-x`) si applicano agli utenti che appartengono allo stesso gruppo del file.
  3. Others (Altri): Gli ultimi tre (`r--`) si applicano a tutti gli altri utenti del sistema.

I permessi stessi sono tre:

  • `r` (Read): Permesso di leggere il contenuto del file (o di elencare i file in una directory).
  • `w` (Write): Permesso di modificare o cancellare il file (o di creare/cancellare file in una directory).
  • `x` (Execute): Permesso di eseguire il file (se è uno script o un programma) o di entrare nella directory.

Il Comando `chmod`

Il comando `chmod` (change mode) permette di modificare questi permessi. Ci sono due modi per usarlo:

1. Notazione Simbolica (la più intuitiva)

Si usano le lettere `u` (user/owner), `g` (group), `o` (others), `a` (all) e i simboli `+` (aggiungi), `-` (rimuovi), `=` (imposta esattamente).

  • `chmod u+x file.sh`: Aggiunge il permesso di esecuzione per il proprietario.
  • `chmod g-w file.txt`: Rimuove il permesso di scrittura per il gruppo.
  • `chmod o=r file.conf`: Imposta i permessi per gli altri a solo lettura.

2. Notazione Ottale (la più veloce)

Si usa un numero di tre cifre, dove ogni cifra rappresenta un gruppo (owner, group, others). Il numero è la somma dei valori dei permessi: `r=4`, `w=2`, `x=1`.

  • `7` (`4+2+1`) = `rwx`
  • `6` (`4+2`) = `rw-`
  • `5` (`4+1`) = `r-x`
  • `4` (`4`) = `r--`

Quindi, `chmod 755 script.sh` imposta i permessi a `rwxr-xr-x`, una configurazione molto comune per gli script eseguibili.

Hai bisogno di una soluzione su misura?

Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.

Richiedi una consulenza