Linux chmod Example

In questo rapido tutorial, vedremo come possiamo usare il comando chmod in una macchina Ubuntu per trovare, modificare e rimuovere i permessi utente da file specifici che esistono sul file system dell’utente. Giochiamo attraverso varie condizioni in modo da poter padroneggiare i comandi chmod di base che possono rendere la nostra vita quotidiana più facile con Ubuntu.

Permessi Linux

I permessi Linux sono un grande insieme di regole che sono semplici da capire se si afferrano i diritti di base. I tre punti principali che dobbiamo capire per sapere come funzionano i permessi di Linux sono:

  • L’elemento per cui i permessi sono stati definiti
  • Quali azioni possono essere eseguite con un permesso
  • Chi può eseguire quali azioni

Ci sono due elementi di base nel Filesystem Linux:

  1. Cartelle
  2. File

Ci sono tre azioni che possono essere eseguite:

  1. Lettura
  2. Scrittura
  3. Esecuzione. Oltre all’esecuzione di script, le stesse azioni sono necessarie per creare file e altre cartelle al suo interno

Gli utenti che possono eseguire queste azioni sono:

  1. Proprietario del file
  2. Gruppo del proprietario del file
  3. Utente che non sono associati al gruppo proprietario o al proprietario stesso

Per vedere le autorizzazioni relative a un file, eseguire il seguente comando:

ls -l

Ecco cosa otteniamo con questo comando:

Trova il permesso per i file

Trova il permesso per i file

Nell’output, i primi 10 caratteri presentano il permesso per il file:

  • Il primo carattere, che è ‘-‘ in questo caso significa che questo è un file. Per una directory, questo sarebbe stato un ‘d’.
  • I nove caratteri successivi rappresentano i permessi per il proprietario, il gruppo del proprietario e altri, rispettivamente.

Modificare i permessi

La sintassi per modificare i permessi di un file assomiglia a:

chmod permissions file …

Rappresentazione ottale per i permessi

Possiamo presentare i permessi come un numero ottale. Per esempio, per impostare i permessi di lettura, scrittura & esecuzione per il proprietario, i permessi di lettura & scrittura per il suo gruppo, e nessun permesso per gli altri, su un file hello.txt, eseguiremo il seguente comando:

sudo chmod 760 hello.txt

Una volta che eseguiamo il comando di cui sopra e proviamo a leggere un file con un account non proprietario usando il seguente comando:

sudo -u notowner-user more hello.txt

otteniamo il seguente errore:

hello.txt: Permesso negato

Ma da dove viene questo numero? Ogni cifra di questo numero rappresenta un insieme di permessi. Vediamo come sono stati ricavati:

  • 0: Significa nessun permesso
  • 1: Significa il permesso di esecuzione
  • 2: Significa il permesso di scrittura
  • 4: Significa il permesso di lettura

Per assegnare i permessi di lettura, scrittura & esecuzione al proprietario, gli abbiamo assegnato il numero 7 (= 4 + 2 + 1). Comprendiamo meglio questo in una tabella di cifre:

Numero Binario Lettura Scrittura Esecuzione
0 000 NO NO NO
1 001 NO NO SI
2 010 NO NO
3 011 NO SI SI
4 100 SI NO NO
5 101 SI NO SI
6 110 SI NO
7 111

La tabella qui sopra è molto chiara in ciò che ciascuno rappresenta in termini di permessi di file.

Rappresentazione dei caratteri per i permessi

Possiamo presentare i permessi come un numero ottale. Per esempio, per impostare i permessi di lettura, scrittura &esecuzione per il proprietario, i permessi di lettura &scrittura per il suo gruppo, e nessun permesso per gli altri, su un file hello.txt, eseguiremo il seguente comando:

sudo chmod u=rwe,g=rw,o-rwx hello.txt

Per aggiungere i permessi ad un utente esistente, possiamo anche fare:

sudo chmod g+w hello.txt

Qui, il permesso di scrittura è stato assegnato al gruppo di utenti del proprietario del file.

Modifiche ricorsive dei permessi

Possiamo anche cambiare i permessi per i file contenuti in una specifica directory con un singolo comando. Per modificare i permessi di ogni singolo file e cartella in una determinata directory in una sola volta, usare sudo chmod con -R:

sudo chmod 777 Directory/*

Possiamo vedere il seguente output che riflette chiaramente il cambiamento dei permessi dei file:

Cambiare ricorsivamente i permessi dei file

Cambiare ricorsivamente i permessi dei file

Conclusione

In questa lezione, abbiamo visto come possiamo modificare i permessi di un file e, se necessario, farlo ricorsivamente. Abbiamo capito i concetti di base su come i permessi di Linux ci possono aiutare molto nel nostro lavoro quotidiano.

Lascia un commento