Spiegazione del comando Chmod e dei permessi dei file Linux

Spiegazione del comando Chmod e dei permessi dei file Linux

Quindi hai trovato un sapore di Linux che ti piace, ma ora sei confuso perché non hai la più pallida idea dei comandi del terminale e dei permessi dei file Linux?





O forse hai un sito Web ospitato su un server Linux e hai riscontrato alcuni problemi di autorizzazione dei file che possono essere risolti solo con la magia della riga di comando.





Indipendentemente da ciò, uno dei comandi Linux più essenziali da imparare è un piccolo ma potente comando chiamato chmod . Ma prima di spiegare cosa fa il comando, dobbiamo prima capire un po' come Linux gestisce la sicurezza dei file.





Le basi dei permessi dei file Linux

I sistemi operativi Linux sono in realtà sistemi simili a Unix ( capire Linux contro Unix ), e i sistemi simili a Unix si avvicinano ai permessi dei file in questo modo:

Ogni file ha un proprietario , che determina la 'classe utente' del file. Ogni file ha anche un gruppo , che determina la 'classe di gruppo' del file. Qualsiasi utente del sistema che non è il proprietario e non appartiene allo stesso gruppo è determinato a essere altri .



Tutti i file su sistemi Unix-like hanno permessi assegnati a tutte e tre le classi, e questi determinano quali azioni possono essere intraprese da dette classi per il dato file.

Le tre azioni disponibili su un sistema Unix-like sono: leggere (la possibilità di aprire e visualizzare il contenuto del file), Scrivi (la capacità di aprire e modificare il contenuto di un file), e eseguire (la capacità di eseguire il file come programma eseguibile).





In altre parole, i permessi di un file determinano se:

  • Il proprietario può leggere, scrivere ed eseguire il file.
  • Il gruppo può leggere, scrivere ed eseguire il file.
  • Chiunque altro può leggere, scrivere ed eseguire il file.

I permessi dei file Linux possono essere visualizzati in due formati.





Il primo formato si chiama notazione simbolica , che è una stringa di 10 caratteri: un carattere che rappresenta il tipo di file, quindi nove caratteri che rappresentano le autorizzazioni di lettura (r), scrittura (w) ed esecuzione (x) del file in ordine di proprietario, gruppo e altri. Se non consentito, viene utilizzato il simbolo del trattino (-).

Per esempio:

-rwxr-xr--

Ciò significa che è un file normale con permessi di lettura, scrittura ed esecuzione per il proprietario; leggere ed eseguire i permessi per il gruppo; e solo permessi di lettura per tutti gli altri.

Il secondo formato si chiama notazione numerica , che è una stringa di tre cifre che rappresentano rispettivamente utente, gruppo e altre autorizzazioni. Ogni cifra può variare da 0 a 7 e il valore di ogni cifra si ottiene sommando i permessi della classe:

  • 0 significa nessuna autorizzazione consentita.
  • +1 se la classe può eseguire il file.
  • +2 se la classe può scrivere sul file.
  • +4 se la classe può leggere il file.

In altre parole, il significato di ogni valore di cifra finisce per essere:

  • 0: Nessuna autorizzazione
  • 1: Esegui
  • 2: Scrivi
  • 3: Scrivi ed esegui
  • 4: Leggi
  • 5: Leggi ed esegui
  • 6: Leggi e scrivi
  • 7: Leggi, scrivi ed esegui

Quindi l'esempio sopra (

-rwxr-xr--

) sarebbe 754 in notazione numerica.

Questi sono i permessi dei file Linux in poche parole.

Cos'è Chmod?

Sui sistemi Unix-like, chmod è un comando a livello di sistema che sta per 'modifica modalità' e consente di modificare manualmente le impostazioni di autorizzazione di un file.

Internet stesso fa male in inglese

Da non confondere con chown , che è un altro comando a livello di sistema su sistemi simili a Unix che sta per 'cambia proprietario' e ti consente di assegnare la proprietà di un file a un altro utente, o chgrp , che sta per 'cambia gruppo' e assegna un file a un gruppo diverso. Questi sono importanti da sapere, ma non così comunemente usati come chmod.

Cosa significa Chmod 644?

L'impostazione dei permessi di un file su 644 fa in modo che solo il proprietario possa accedere e modificare il file come desidera, mentre tutti gli altri possono accedere solo senza modificare e nessuno può eseguire il file, nemmeno il proprietario. Questa è l'impostazione ideale per i file accessibili pubblicamente perché bilancia la flessibilità con la sicurezza.

le migliori app vr gratuite per Android

Cosa significa Chmod 755?

L'impostazione dei permessi di un file su 755 è fondamentalmente la stessa cosa di 644, tranne per il fatto che tutti hanno anche i permessi di esecuzione. Questo è usato principalmente per le directory accessibili pubblicamente perché è necessaria l'autorizzazione di esecuzione per cambiare in una directory.

Cosa significa Chmod 555?

L'impostazione delle autorizzazioni di un file su 555 fa in modo che il file non possa essere modificato affatto da nessuno tranne il superutente del sistema (scopri di più sul superutente di Linux). Questo non è comunemente usato come 644, ma è comunque importante saperlo perché l'impostazione di sola lettura impedisce modifiche accidentali e/o manomissioni.

Cosa significa Chmod 777?

Impostando le autorizzazioni di un file su 777, chiunque può fare ciò che vuole con il file. Questo è un enorme rischio per la sicurezza, specialmente sui server web! Letteralmente chiunque può accedere al file, modificarlo come vuole ed eseguirlo sul sistema. Puoi immaginare il potenziale danno se un utente disonesto ci mettesse le mani sopra.

Come usare Chmod su Linux

Il comando chmod ha un formato semplice:

chmod [permissions] [file]

Le autorizzazioni possono essere fornite in notazione numerica, che è il formato migliore da utilizzare quando si desidera assegnare autorizzazioni specifiche per tutte le classi:

chmod 644 example.txt

I permessi possono anche essere dati in notazione simbolica, che è utile quando vuoi solo modificare i permessi di una particolare classe. Per esempio:

chmod u=rwx example.txt
chmod g=rw example.txt
chmod o=rw example.txt

Puoi modificare i permessi per più classi, come questo esempio che imposta il proprietario per leggere/scrivere/eseguire ma il gruppo e altri per leggere/eseguire:

chmod u=rwx,g=rw,o=rw example.txt

Quando assegni le stesse autorizzazioni a più classi, puoi combinarle:

chmod u=rwx,go=rw example.txt

Ma la bellezza dell'uso della notazione simbolica brilla quando si desidera solo aggiungere o rimuovere l'autorizzazione per una particolare azione per una particolare classe.

Ad esempio, questo aggiunge l'autorizzazione di esecuzione per il proprietario del file:

chmod u+x example.txt

E questo rimuove i permessi di scrittura ed esecuzione per altri utenti:

chmod o-wx example.txt

Infine, se vuoi applicare un particolare insieme di permessi a tutti i file e le cartelle all'interno di una particolare directory (ad esempio un chmod ricorsivo), usa l'opzione -R e scegli come target una directory:

chmod -R 755 example_directory

Anche se a prima vista il comando chmod sembra un po' folle, in realtà è abbastanza semplice e del tutto logico. Se capisci quanto sopra, hai praticamente imparato chmod!

Ulteriori informazioni sulla padronanza di Linux

Comandi come chmod, chown e chgrp sono solo la punta dell'iceberg di Linux. Se sei un principiante del sistema operativo, ti consigliamo di dare un'occhiata a questi trucchetti per i neofiti di Linux e a questi comandi di Linux che non dovresti mai eseguire.

Ma soprattutto, faresti meglio a dare un'occhiata al nostro guida completa per principianti a Ubuntu e Linux , che ti insegnerà tutto ciò che devi sapere per iniziare e familiarizzare abbastanza da sentirti a tuo agio.

Condividere Condividere Tweet E-mail 5 suggerimenti per potenziare le tue macchine Linux VirtualBox

Stanchi delle scarse prestazioni offerte dalle macchine virtuali? Ecco cosa dovresti fare per aumentare le prestazioni di VirtualBox.

Leggi Avanti
Argomenti correlati
  • Linux
  • Comandi Linux
Circa l'autore Joel Lee(1524 Articoli Pubblicati)

Joel Lee è l'editore capo di MakeUseOf dal 2018. Ha un B.S. in Informatica e oltre nove anni di esperienza professionale di scrittura e modifica.

Altro da Joel Lee

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti