Comprendere i permessi dei file: Cosa significa “Chmod 777”?

Se sei un utente Linux o un amministratore di sistema che gestisce un server Linux, ti imbatterai spesso nell’errore “Non hai i permessi per caricare file nella cartella”. Dopo alcune ricerche su Google, la soluzione è spesso semplice come impostare il permesso del file su “775” o “777”. In termini tecnici, ti verrà chiesto di “chmod 777 il file”. Ma cosa significa “777”? E perché deve essere “7” e non “8” o “9”?
In questo post, ti mostriamo come comprendere meglio i permessi dei file, incluso cosa significa chmod 777.
Leggi anche: Come rinominare facilmente i file in Linux
Comprendere i permessi dei file
I sistemi Unix (inclusi Linux e macOS) hanno un meccanismo di controllo dei file che determina chi può accedere a un particolare file o cartella e cosa possono fare con esso.
Ci sono due parti da considerare:
Classi. Questo determina chi può accedere al file. Ci sono tre designazioni: un Proprietario, un Gruppo (che condivide tutti gli stessi permessi) e Altri.
- Il Proprietario è solitamente il creatore del file o della cartella. In Linux, qualsiasi file o cartella che crei nella tua directory Home è solitamente di tua proprietà, a meno che tu non cambi specificamente la proprietà.
- Il Gruppo contiene un gruppo di utenti che condividono gli stessi permessi e privilegi utente.
- Altri significa il pubblico generale.

Permessi. Questi determinano cosa può fare l’utente con un file. Puoi leggere, scrivere o eseguire un file, e puoi impostare quasi qualsiasi combinazione di questi tre permessi.
- Leggi. Non puoi modificare il contenuto del file in alcun modo. Quando applicato a una cartella, puoi solo visualizzare i file all’interno di quella cartella; non puoi eliminare o modificare i file in alcun modo o aggiungere altri file alla cartella.
- Scrivi. Puoi modificare il file. Se hai accesso “scrittura” a una cartella, puoi eliminare e aggiungere file a quella cartella.
- Esegui. Esegui è principalmente usato quando hai bisogno di eseguire il file ed è più comunemente usato quando hai bisogno di eseguire uno script.

Utilizzando le Classi in combinazione con i Permessi, puoi controllare chi ha accesso a un file e le azioni che possono eseguire.
Il proprietario del file avrà spesso tutti e tre i permessi disponibili (lettura, scrittura ed esecuzione). Se non riesci a caricare un file su un server, spesso è a causa di permessi non corrispondenti.
Spiegare il permesso del file 777
Una volta che hai una comprensione di base delle Classi e dei Permessi, puoi iniziare a comprendere numeri come “777” e “775”.
Ogni file e cartella contiene dati a 8 bit che controllano i permessi. Nella sua forma binaria di base, 000 significa che non vengono concessi permessi di alcun tipo.
Quando imposti un permesso di “Lettura”, aggiunge 4 bit ai dati, rendendolo “100” (in formato binario) o un “4” nel formato decimale abituale. Impostare un permesso di “Scrittura” aggiungerà 2 bit ai dati, rendendolo “010” e “2” in forma decimale. Infine, impostare un permesso di “Esecuzione” aggiunge 1 bit ai dati, il che risulterà in “001,” o “1” in forma decimale. In breve:
- Leggi è equivalente a “4”.
- Scrivi è equivalente a “2”.
- Esegui è equivalente a “1”.
In poche parole, impostare i permessi è matematica di base. Ad esempio, per impostare i permessi di “Lettura e Scrittura”, combiniamo 4 e 2 per ottenere 6. Naturalmente, ci sono altre permutazioni:
- 0: Nessun permesso
- 1: Esegui
- 2: Scrivi
- 3: Scrivi ed Esegui
- 4: Leggi
- 5: Leggi ed Esegui
- 6: Leggi e Scrivi
- 7: Leggi, Scrivi ed Esegui
Un insieme completo di permessi per i file assegna la prima cifra al Proprietario, la seconda cifra al Gruppo e la terza agli Altri. Ecco alcuni dei permessi comunemente usati:
- 755. Questo insieme di permessi è comunemente usato dai server web. Il proprietario ha tutti i permessi per leggere, scrivere ed eseguire. Tutti gli altri possono leggere ed eseguire ma non possono apportare modifiche al file.
- 644. Solo il proprietario può leggere e scrivere. Tutti gli altri possono solo leggere. Nessuno può eseguire questo file.
- 655. Solo il proprietario può leggere e scrivere e non può eseguire il file. Tutti gli altri possono leggere ed eseguire e non possono modificare il file.
Per quanto riguarda 777, questo significa che ogni utente può Leggere, Scrivere ed Eseguire. Poiché concede permessi completi, dovrebbe essere usato con cautela. Tuttavia, in alcuni casi, dovrai impostare i permessi 777 prima di poter caricare qualsiasi file sul server.
Impostare i permessi dei file nella riga di comando
In Linux, puoi facilmente cambiare i permessi dei file facendo clic con il tasto destro su un file o una cartella e selezionando “Proprietà”. Questo aprirà una scheda Permessi dove puoi apportare modifiche.
Al contrario, puoi cambiare le impostazioni dei permessi su macOS facendo clic con il tasto destro e selezionando “Ottieni informazioni”. Qui, puoi espandere la sezione “Condivisione e permessi” e apportare le tue modifiche.

Per apportare modifiche, seleziona i permessi rilevanti dalla sezione Privilegi e scegli qualcosa di più adatto.

Tuttavia, questo non è l’unico modo in cui puoi cambiare i permessi dei file. Spieghiamo questo in modo più dettagliato nel prossimo paragrafo.
Cambiare i permessi dei file utilizzando chmod 777
Se sei più familiare con il Terminale e la riga di comando, puoi anche cambiare i permessi qui.
Il comando chmod ti consente di “cambiare la modalità” – un altro modo per descrivere i permessi di accesso. Per farlo, apri il Terminale e digita quanto segue:
chmod777/path/to/fileIn breve, chmod 777 combina i due concetti che abbiamo presentato in tutto questo articolo. Significa rendere il file leggibile, scrivibile ed eseguibile da chiunque abbia accesso. Di conseguenza, è un comando potente e potenzialmente distruttivo per il sistema – quindi è necessario prestare particolare attenzione.
In sintesi
I permessi dei file possono presentarti un ostacolo se non sono impostati correttamente. Questo è voluto, poiché un sistema bloccato non può essere compromesso. Tuttavia, se desideri accedere a un file sul tuo sistema o server, imparare a cambiare determinati permessi è un’abilità solida da avere.
In poche parole, chmod 777 è il comando che utilizzerai all’interno del Terminale per rendere un file o una cartella accessibile a tutti. Dovresti usarlo solo in rare occasioni e tornare a un insieme di permessi più restrittivi una volta terminato.
Se ti stai chiedendo cos’altro può fare il Terminale, dai un’occhiata al nostro post su come copiare e incollare dalla riga di comando. Devi gestire i permessi dei file e questo post ti sarà utile? Facci sapere nella sezione commenti qui sotto!