Comprendere le autorizzazioni 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 era il modo in cui le autorizzazioni funzionavano. Ad esempio, caricando un file sul mio server web una volta e ricevendo un errore, il mio host web mi ha detto di modificare le autorizzazioni del file su 755.

Non avevo idea di cosa significasse, anche se cambiando le autorizzazioni hanno 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ò delle autorizzazioni Linux su un livello superiore e mostrerò come utilizzare il comando chmod per modificare le autorizzazioni per file e cartelle.

Autorizzazioni Linux e amp; Livelli

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

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

Leggi, scrivi ed esegui sono rappresentati come caratteri simbolici o come numeri ottali. Ad esempio, se fai un ls -l in una directory con alcuni file, vedrai la rappresentazione simbolica dei caratteri delle autorizzazioni.

Le autorizzazioni sono scritte come segue: il primo bit è un trattino o la lettera d. Dashsignifica che si tratta di un file e dsta per directory. Nota che il primo bit può anche essere un lse il nome del file è un link. Successivamente, ci sono tre gruppi di tre bit. Il primo bit in ogni gruppo è in lettura, il secondo in scrittura e il terzo in esecuzione. I primi tre bit sono per il proprietario, i secondi tre bit sono per il gruppo e il terzo tre bit per gli 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 ho questo permesso Nell'esempio sopra, il proprietario, il gruppo e chiunque altro ha letto le autorizzazioni di scrittura ed esecuzione.

Se si guarda l'output dal comando ls -l, si noterà che il mio file di testo pratica ha il 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 le autorizzazioni sono per una directory. Il proprietario ha permessi di lettura / scrittura / esecuzione, ma il gruppo e gli altri utenti hanno solo il permesso di lettura.

Rappresentazione numero ottale

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

Quindi come fa Linux a leggere, scrivere ed eseguire usando i numeri ottali? Fondamentalmente, assegna un numero a ciascun permesso come mostrato di seguito.

Il permesso di lettura è rappresentato da 4, scritto da 2 ed eseguito da 1. Tutto ciò che devi fare è aggiungerli 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 dato solo permessi di lettura / scrittura:

-rw-rw-rw-

Il primo numero ottale sarà 4 + 2 dato che siamo aggiungendo leggi e scrivi. Il secondo sarà lo stesso del terzo numero ottale. Qui abbiamo un valore ottale finale di 666.

Quindi proviamo ora dall'altra parte. Diciamo che vogliamo sapere quali permessi 755rappresentano? Bene, è abbastanza facile capire se si scomposizione per numeri individuali. 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 aggiungendo 4 + 1, il che significa che il gruppo e gli altri utenti hanno autorizzazioni di lettura ed esecuzione.

Si spera che sia una buona spiegazione su come rappresentare i permessi in Linux usando numeri ottali. È piuttosto semplice in generale.

Usare chmod per modificare i permessi

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 è quello di esaminare un esempio.

Iniziamo con le autorizzazioni di cui abbiamo parlato sopra, ovvero:

-rw-rw-rw-

Se volevo aggiungere il permesso di esecuzione per il proprietario, il gruppo e l'altro, potremmo farlo in due modi. Potremmo usare il metodo simbolico o il metodo ottale. Per il metodo simbolico, faremo 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) seguito da un +per l'aggiunta di autorizzazioni o un -per togliere le autorizzazioni e quindi la lettera per l'autorizzazione (rper lettura, wper scrittura e xper esecuzione).

Nell'esempio precedente, ho aggiunto il eseguire il permesso per tutti gli utenti. Il risultato che puoi vedere nello screenshot qui sopra è un xper 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 usato al seguente comando per realizzare questo:

chmod go-wx filename

Poiché voglio modificare le autorizzazioni per il gruppo e gli altri, uso la lettera ge la lettera o. Voglio rimuovere le autorizzazioni, quindi utilizzo il segno -. Infine, voglio rimuovere le autorizzazioni di scrittura ed esecuzione, quindi utilizzo we x. Ecco una comoda tavoletta per l'utilizzo dei simboli:

Ecco tutto quello che c'è da usare con il metodo dei simboli. Parliamo ora del metodo ottale, che trovo essere un po 'più semplice. Octal è bello perché puoi aggiungere o rimuovere permessi tutti in una volta.

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

-rw-rw-rw-

In alto, puoi vedere che ho usato il seguente comando:

chmod 744 filename

Questo in pratica dice che il proprietario ottiene il permesso di lettura / scrittura / esecuzione e il gruppo e l'altro ottiene solo il permesso di lettura. Come puoi vedere, è facile aggiungere o rimuovere permessi con un semplice comando. Continuiamo e dì che voglio cambiare di nuovo le autorizzazioni.

Ora ho usato il seguente comando, anche questo molto semplice:

chmod 640 filename

Qui abbiamo dato le autorizzazioni di lettura / scrittura del proprietario, il gruppo legge solo le autorizzazioni e l'altro gruppo non ha le autorizzazioni. Si utilizza uno zero per indicare nessuna autorizzazione. Piuttosto semplice, eh?

In conclusione, questa è una panoramica molto semplice dei permessi di Linux e può essere molto più complicata di questa, ma per i principianti, è un buon punto di partenza. Pubblicherò altri articoli su permessi più avanzati in futuro. Se avete domande, sentitevi liberi di commentare. Buon divertimento!

Linux File Permissions - Linux Tutorial 6

Post correlati:


16.02.2017