Annuncio pubblicitario

Quindi hai ho trovato un sapore di Linux che ti piace, ma ora sei confuso perché non hai la minima idea dei comandi del terminale e delle autorizzazioni per i 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 un po 'di magia da riga di comando.

Indipendentemente da ciò, uno dei comandi Linux più essenziali da imparare Una A-Z di Linux - 40 comandi essenziali che dovresti sapereLinux è la terza ruota spesso ignorata per Windows e Mac. Sì, negli ultimi dieci anni, il sistema operativo open source ha guadagnato molta trazione, ma è ancora molto lontano dall'essere considerato ... Leggi di più è un comando piccolo ma potente chiamato chmod. Ma prima di spiegare cosa fa il comando, dobbiamo prima capire un po 'come Linux gestisce la sicurezza dei file.

Nozioni di base sulle autorizzazioni dei file Linux

I sistemi operativi Linux sono in realtà sistemi simili a Unix (

instagram viewer
capire Linux vs. Unix) e i sistemi simili a Unix si avvicinano alle autorizzazioni 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. Viene determinato che qualsiasi utente del sistema che non è il proprietario e non appartiene allo stesso gruppo altri.

Tutti i file su sistemi simili a Unix dispongono di autorizzazioni assegnate a tutte e tre le classi e determinano quali azioni possono essere intraprese da tali classi per il file specificato.

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

In altre parole, le autorizzazioni 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.

Le autorizzazioni per i file Linux possono essere visualizzate in due formati.

Viene chiamato il primo formato 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 autorizzazioni di lettura, scrittura ed esecuzione per il proprietario; leggere ed eseguire le autorizzazioni per il gruppo; e leggi solo le autorizzazioni per tutti gli altri.

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

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

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

  • 0: nessuna autorizzazione
  • 1: eseguire
  • 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.

Queste sono le autorizzazioni per i file Linux in breve.

Che cos'è Chmod?

Su sistemi simili a Unix, chmod è un comando a livello di sistema che sta per "cambia modalità" e consente di modificare manualmente le impostazioni di autorizzazione di un file.

Da non confondere 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, oppure chgrp, che significa "cambia gruppo" e assegna un file a un altro gruppo. Questi sono importanti da sapere, ma non così comunemente usati come chmod.

Cosa significa Chmod 644?

L'impostazione delle autorizzazioni di un file su 644 lo rende così solo il proprietario può accedere e modificare il file comunque desidera mentre tutti gli altri possono accedere solo senza modificare, e nessuno può eseguire il file, nemmeno il file proprietario. Questa è l'impostazione ideale per i file accessibili al pubblico perché bilancia la flessibilità con la sicurezza.

Cosa significa Chmod 755?

L'impostazione delle autorizzazioni di un file su 755 è sostanzialmente la stessa di 644, tranne per il fatto che tutti hanno anche le autorizzazioni di esecuzione. Viene utilizzato principalmente per le directory accessibili al pubblico perché è necessaria l'autorizzazione di esecuzione per passare a una directory.

Cosa significa Chmod 555?

L'impostazione delle autorizzazioni di un file su 555 consente di non modificare affatto il file da parte di nessuno tranne il superutente del sistema (ulteriori informazioni sul superutente Linux Che cos'è SU e perché è importante usare Linux in modo efficace?L'account utente Linux SU o root è un potente strumento che può essere utile se usato correttamente o devastante se usato incautamente. Vediamo perché dovresti essere responsabile quando usi SU. Leggi di più ). Questo non è così comunemente usato come 644, ma è comunque importante sapere perché l'impostazione di sola lettura impedisce modifiche accidentali e / o manomissioni.

Cosa significa Chmod 777?

L'impostazione delle autorizzazioni di un file su 777 consente a chiunque di fare tutto ciò che desidera con il file. Questo è un enorme rischio per la sicurezza, specialmente sui web server! Letteralmente chiunque può accedere al file, modificarlo come desidera ed eseguirlo sul sistema. Puoi immaginare il danno potenziale se un utente canaglia ci mettesse le mani sopra.

Come usare Chmod su Linux

Il comando chmod ha un formato semplice:

chmod [autorizzazioni] [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

Le autorizzazioni possono anche essere fornite in notazione simbolica, utile quando si desidera modificare solo le autorizzazioni di una determinata classe. Per esempio:

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

È possibile modificare le autorizzazioni per più classi, come questo esempio che imposta il proprietario in lettura / scrittura / esecuzione, ma il gruppo e altri in lettura / esecuzione:

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

Quando si assegnano le stesse autorizzazioni a più classi, è possibile combinarle:

chmod u = rwx, go = rw example.txt

Ma la bellezza dell'uso della notazione simbolica risplende quando si desidera solo aggiungere o rimuovere l'autorizzazione per un'azione specifica per una determinata classe.

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

chmod u + x example.txt

E questo rimuove le autorizzazioni di scrittura ed esecuzione per altri utenti:

chmod o-wx example.txt

Infine, se si desidera applicare un determinato set di autorizzazioni a tutti i file e le cartelle all'interno di una determinata directory (ad esempio un chmod ricorsivo), utilizzare l'opzione -R e scegliere come target una directory:

chmod -R 755 directory_esempio

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

Ulteriori informazioni su Mastering Linux

Comandi come chmod, chown e chgrp sono solo la punta dell'iceberg di Linux. Se sei nuovo nel sistema operativo, ti consigliamo di dare un'occhiata a questi trucchi accurati per i neofiti di Linux così come questi Comandi Linux che non dovresti mai eseguire.

Ma soprattutto, faresti meglio controllando il nostro guida completa per principianti a Ubuntu e Linux Ubuntu: una guida per principiantiCurioso di Ubuntu, ma non sai da dove cominciare? Tutto ciò di cui potresti aver bisogno per iniziare con l'ultima versione di Ubuntu è proprio qui, scritto in un inglese semplice e intuitivo. Leggi di più , che ti insegnerà tutto ciò che devi sapere per iniziare e familiarizzare abbastanza per sentirti a tuo agio.

Joel Lee ha un B.S. in Informatica e oltre sei anni di esperienza professionale nella scrittura. È caporedattore di MakeUseOf.