Comprendere i permessi di Linux e l'utilizzo di chmod

Ho seguito un corso su Linux negli ultimi mesi e un aspetto di Linux che mi ha sempre confuso è stato il funzionamento dei permessi. Ad esempio, quando si carica un file sul mio server Web una volta e viene visualizzato un errore, il mio host Web mi ha detto di modificare le autorizzazioni del file in 755.

Non avevo idea di cosa significasse, anche se la modifica dei permessi ha risolto il problema. Ora ho capito che i permessi di Linux non sono poi così complicati, devi solo capire il sistema. In questo articolo parlerò dei permessi di Linux ad alto livello e ti mostrerò come usare il comando chmod per cambiare i permessi per file e cartelle.

Permessi e livelli Linux

In Linux , ci sono fondamentalmente tre permessi di cui normalmente dovrai preoccuparti: leggere, scrivere ed eseguire. Tutti e tre questi sono abbastanza autoesplicativi. Ora, quando queste autorizzazioni vengono applicate a un file, vengono applicate a livelli.

Esistono tre livelli di autorizzazioni in Linux : proprietario, gruppo e altro. Il proprietario è l'utente che possiede il file/la cartella, il gruppo include altri utenti nel gruppo del file e altri rappresenta semplicemente tutti gli altri utenti che non sono il proprietario o nel gruppo.

Lettura(Read) , scrittura ed esecuzione sono rappresentate come caratteri simbolici o come numeri ottali. Ad esempio, se esegui ls -l in una directory con alcuni file, vedrai la rappresentazione del carattere simbolico dei permessi.

I permessi sono scritti come segue: il primo bit è un trattino o la lettera d. Dash significa che è un file e d sta per directory. Si noti che il primo bit può anche essere una l se il nome del file è un collegamento. Successivamente, ci sono tre gruppi di tre bit. Il primo bit di ogni gruppo è per la lettura, il secondo bit è per la scrittura e il terzo bit è per l'esecuzione. I primi tre bit sono per il proprietario, i secondi tre bit sono per il gruppo e i terzi tre bit sono per altri. Ecco una spiegazione più visiva.

Se vedi un trattino al posto di una lettera, significa che il proprietario, il gruppo o tutti gli altri utenti non hanno tale autorizzazione. Nell'esempio sopra, il proprietario, il gruppo e tutti gli altri hanno letto le autorizzazioni di scrittura ed esecuzione.

Se guardi l'output del comando ls -l, noterai che il mio file di testo di pratica ha le seguenti autorizzazioni:

-rw-rw-rw-

Ciò significa che tutti hanno solo i permessi di lettura/scrittura per il file. Ecco un altro esempio:

drwxr--r--

Guardando il primo bit, possiamo vedere che i permessi sono per una directory. Il proprietario dispone delle autorizzazioni di lettura/scrittura/esecuzione, ma il gruppo e gli altri utenti hanno solo l'autorizzazione di lettura.

Rappresentazione del numero ottale

Ecco come vengono visualizzate le autorizzazioni in Linux usando i simboli. Il secondo modo per rappresentare le stesse autorizzazioni è utilizzare i numeri ottali. Quando useremo il comando chmod in seguito, vedrai che puoi modificare i permessi usando simboli o numeri ottali.

Quindi in che modo Linux rappresenta la lettura, la scrittura e l'esecuzione usando i numeri ottali? Fondamentalmente, assegna semplicemente un numero a ciascuna autorizzazione come mostrato di seguito.

Il permesso di lettura è rappresentato da 4, scrivere da 2 ed eseguire da 1. Tutto quello che devi fare è sommarli per ottenere il permesso ottale. Ad esempio, prendiamo l'esempio sopra in cui tutti hanno tutte le autorizzazioni:

-rwxrwxrwx

Il proprietario ha rwx, quindi aggiungeremo 4 + 2 + 1 per ottenere un valore di 7. Facciamo la stessa cosa per il gruppo e la stessa cosa per gli altri. Il valore ottale finale è 777. Diamo un'occhiata all'esempio in cui abbiamo concesso solo i permessi di lettura/scrittura:

-rw-rw-rw-

Il primo numero ottale sarà 4 + 2 poiché stiamo aggiungendo lettura e scrittura. Il secondo sarà lo stesso del terzo numero ottale. Qui abbiamo un valore ottale finale di 666.

Quindi ora proviamo nell'altro modo. Diciamo di voler sapere cosa rappresentano le autorizzazioni 755 ? Bene, è abbastanza facile da capire se lo scomponi per singoli numeri. Il primo numero è 7, che possiamo ottenere solo aggiungendo 4 + 2 + 1, il che significa che il proprietario ha il permesso di lettura/scrittura/esecuzione. Cinque possono essere ottenuti solo aggiungendo 4 + 1, il che significa che il gruppo e altri utenti hanno i permessi di lettura ed esecuzione.

Si spera(Hopefully) che questa sia una buona spiegazione su come rappresentare i permessi in Linux usando numeri ottali. Nel complesso è abbastanza semplice.

Utilizzo di chmod per modificare le autorizzazioni

Ora che capiamo come leggere i permessi, parliamo di come possiamo cambiarli. L'utilità più semplice da utilizzare per questo scopo è il comando chmod. Ecco come funziona. Il modo migliore per spiegare il comando è fare un esempio.

Iniziamo con i permessi di cui abbiamo parlato sopra, ovvero:

-rw-rw-rw-

Se volessimo aggiungere l'autorizzazione di esecuzione per il proprietario, il gruppo e altri, potremmo procedere in due modi. Potremmo usare il metodo dei simboli o il metodo ottale. Per il metodo dei simboli, faremmo quanto segue, come mostrato di seguito:

Il comando esatto è

chmod a+x filename

La sintassi è la seguente: la lettera o le lettere che rappresentano il proprietario ( u ), il gruppo ( g ), altro ( o ) o tutto ( a ) seguite da un + per aggiungere i permessi o un per togliere i permessi e poi la lettera per il permesso ( r per leggere, w per scrivere e x per eseguire).

Nell'esempio sopra, ho aggiunto l'autorizzazione di esecuzione per tutti gli utenti. Il risultato, come puoi vedere nello screenshot sopra, è una x per proprietario, gruppo e altro. Ora diciamo che volevo rimuovere le autorizzazioni di scrittura ed esecuzione solo per il gruppo e altri utenti.

Come puoi vedere qui, ho utilizzato il seguente comando per ottenere ciò:

chmod go-wx filename

Dal momento che voglio modificare i permessi per il gruppo e altro, utilizzo la lettera g e la lettera o . Voglio rimuovere le autorizzazioni, quindi utilizzo il segno – . Infine, voglio rimuovere le autorizzazioni di scrittura ed esecuzione, quindi uso w e x . Ecco una piccola tabella pratica per l'utilizzo dei simboli:

Quindi questo è tutto quello che c'è da fare per usare il metodo dei simboli. Ora parliamo del metodo ottale, che trovo un po' più semplice. Octal è bello perché puoi aggiungere o rimuovere le autorizzazioni tutto in una volta.

Se iniziamo con i seguenti permessi su un file, vediamo come possiamo cambiarli usando il metodo ottale:

-rw-rw-rw-

Sopra(Above) , puoi vedere che ho usato il seguente comando:

chmod 744 filename

Questo sostanzialmente dice che il proprietario ottiene l'autorizzazione di lettura/scrittura/esecuzione e il gruppo e gli altri ottengono solo l'autorizzazione di lettura. Come puoi vedere, è facile aggiungere o rimuovere autorizzazioni con un semplice comando. Continuiamo e diciamo che voglio cambiare di nuovo le autorizzazioni.

Ora ho usato il seguente comando, ancora una volta molto semplice:

chmod 640 filename

Qui abbiamo concesso al proprietario i permessi di lettura/scrittura, il solo permesso di lettura del gruppo e l'altro gruppo nessun permesso. Usi uno zero per denotare nessuna autorizzazione. Abbastanza semplice, eh?

In conclusione, questa è una panoramica molto semplice delle autorizzazioni Linux e può diventare molto più complicata di così, ma per i principianti è un buon punto di partenza. In futuro pubblicherò altri articoli su autorizzazioni più avanzate. Se avete domande, sentitevi liberi di commentare. Divertiti!



About the author

Sono un ingegnere del software ed esploratore. Ho esperienza sia con Microsoft Xbox 360 che con Google Explorer. Sono in grado di fornire consigli di esperti per determinati strumenti di sviluppo software, nonché aiutare le persone a risolvere gli errori comuni di Explorer.



Related posts