Cosa sono i permessi dei file Linux?

I permessi dei file Linux controllano chi può leggere, scrivere o eseguire un file o una directory. Ogni file in Linux ha tre gruppi di permessi: proprietario (l'utente che lo ha creato), gruppo (utenti che condividono un gruppo comune) e altri (tutti gli altri). A ciascun gruppo possono essere concessi tre tipi di accesso: lettura (r), scrittura (w) ed esecuzione (x).

I permessi possono essere espressi in due notazioni. La notazione simbolica utilizza lettere come rwxr-xr-x, dove ogni carattere rappresenta un permesso specifico per un gruppo specifico. La notazione ottale (numerica) utilizza un numero di tre o quattro cifre come 755, dove ogni cifra è la somma dei valori dei permessi: lettura = 4, scrittura = 2, esecuzione = 1.

Una cifra iniziale opzionale nella notazione ottale rappresenta i bit speciali: setuid (4), setgid (2) e sticky bit (1). Il setuid consente a un programma di essere eseguito con i privilegi del proprietario del file, il setgid fa sì che i nuovi file ereditino il gruppo della directory padre, mentre lo sticky bit impedisce agli utenti di eliminare file di cui non sono proprietari nelle directory condivise.

Descrizione dello strumento

Questo strumento ti permette di costruire e decodificare i permessi dei file Linux in modo interattivo. Attiva le caselle di controllo per proprietario, gruppo e altri per impostare i flag di lettura, scrittura ed esecuzione, e visualizza immediatamente il risultato sia in notazione ottale che simbolica. Puoi anche digitare direttamente un valore ottale come 755 o una stringa simbolica come rwxr-xr-x, e le caselle di controllo e l'output visivo si aggiornano automaticamente. Un display visivo con codifica a colori rende facile capire a colpo d'occhio quali permessi sono attivi, e viene generato automaticamente un comando chmod pronto all'uso.

Esempi

Ottale Simbolico Significato
755 -rwxr-xr-x Proprietario: accesso completo. Gruppo e altri: lettura ed esecuzione.
644 -rw-r--r-- Proprietario: lettura e scrittura. Gruppo e altri: sola lettura.
700 -rwx------ Proprietario: accesso completo. Nessun accesso per gruppo o altri.
777 -rwxrwxrwx Accesso completo per tutti.
1755 -rwxr-xr-t Come 755 con sticky bit impostato.
4755 -rwsr-xr-x Come 755 con bit setuid impostato.

Funzionalità

  • Attiva/disattiva singoli permessi di lettura, scrittura ed esecuzione per gruppo tramite caselle di controllo
  • Inserisci la notazione ottale (es. 755) o simbolica (es. rwxr-xr-x) direttamente e visualizza la conversione istantanea
  • Blocchi visivi con codifica a colori per il riconoscimento rapido dei permessi attivi
  • Supporto per i bit di permesso speciali: setuid, setgid e sticky bit
  • Comando chmod generato automaticamente, pronto da copiare e usare nel terminale

Casi d'uso

  • Configurazione di un web server: Determina rapidamente il set di permessi corretto per i file serviti da Apache o Nginx, come 644 per i file statici e 755 per gli script eseguibili.
  • Debug degli errori di accesso negato: Incolla la stringa dei permessi dall'output di ls -l per capire visivamente a quale gruppo manca l'accesso.
  • Apprendimento dei permessi Linux: Esplora in modo interattivo come l'attivazione dei singoli flag modifica le rappresentazioni ottale e simbolica.

Come funziona

Ogni tipo di permesso ha un peso numerico: lettura = 4, scrittura = 2, esecuzione = 1. La cifra ottale per un gruppo è la somma dei pesi dei permessi abilitati. Ad esempio, lettura + esecuzione = 4 + 1 = 5. La notazione ottale completa concatena le cifre per proprietario, gruppo e altri — quindi rwxr-xr-x diventa 755.

I bit speciali aggiungono una cifra iniziale opzionale calcolata nello stesso modo: setuid = 4, setgid = 2, sticky = 1. Un valore di 1755 significa sticky bit (1) più proprietario=7, gruppo=5, altri=5.

Spiegazione delle opzioni

  • Caselle di controllo Proprietario / Gruppo / Altri: Attiva/disattiva lettura (r), scrittura (w) ed esecuzione (x) per ciascun gruppo di permessi in modo indipendente.
  • Setuid: Se impostato su un eseguibile, viene eseguito con i privilegi del proprietario del file anziché con quelli dell'utente che lo avvia.
  • Setgid: Su una directory, i nuovi file ereditano il gruppo della directory. Su un eseguibile, viene eseguito con i privilegi del gruppo del file.
  • Sticky bit: Su una directory, solo il proprietario del file può eliminare o rinominare i file al suo interno, anche se altri hanno il permesso di scrittura.
  • Input ottale: Digita un numero ottale di 3 o 4 cifre per impostare tutti i permessi contemporaneamente.
  • Input simbolico: Digita una stringa simbolica di 9 o 10 caratteri (con prefisso opzionale del tipo di file) per impostare i permessi.

FAQ

Cosa significa chmod 777? Concede i permessi di lettura, scrittura ed esecuzione al proprietario, al gruppo e a tutti gli altri utenti. Questo è generalmente insicuro per i sistemi in produzione.

Qual è la differenza tra la s minuscola e la S maiuscola? La s minuscola indica che sia il bit di esecuzione che il bit speciale (setuid o setgid) sono entrambi impostati. La S maiuscola indica che è impostato solo il bit speciale, senza il permesso di esecuzione.

A cosa serve lo sticky bit? Lo sticky bit viene comunemente impostato sulle directory condivise come /tmp per impedire agli utenti di eliminare o rinominare i file degli altri, anche se tutti hanno accesso in scrittura alla directory.