Permessi CHMOD: come funzionano le varie combinazioni chmod 644, chmod 775 ecc.

Argomenti: ,
Pubblicato il: 26-04-2022 12:30

Persi nelle combinazioni numeriche che possono seguire il comando chmod? Facciamo un po’ di chiarezza con qualche esempietto pratico.

Premessa

Sul sistema operativo Linux, e in generale su Unix, ogni file è associato a dei permessi che possono essere di lettura (r), scrittura (w) ed esecuzione (x). Chi ha scritto il comando (David MacKenzie del MIT) ha pensato probabilmente ad un metodo flessibile per poter gestire tali permessi senza troppi fronzoli, usando una sintassi compatta quanto forse poco espressiva a chi sia poco propenso a fare uso del terminale Linux.

Come usare bene il chmod

Per usare adeguatamente il comando bisogna sapere che esistono tre tipi di permessi di base, che valgono sia per i file che per le cartelle di Linux:

    1. Read (r) – ovvero il permesso di lettura, per consentire di poter leggere il contenuto di un file
    2. Write (w), per poter scrivere
    3. Execute (x), per lavorare su file eseguibili (shell BASH, ad esempio, o terminale Python)

Segue anche la cosiddetta classificazione UGO, che non è Fantozzi :-) ovviamente bensì l’acronimo delle iniziali User, Group e Others:

    1. U ~> User (di solito è l’utente che sta usando Linux da terminale)
    2. G ~> Group (il gruppo di appartenenza)
    3. O ~> Others (altri utilizzi)

Entrando in un terminale Linux possiamo renderci conto della situazione in termini di permessi digitando:

ls -l

che mostrerà qualcosa del genere:

[email protected]  1 user  staff  705301983 Aug 11 13:51 pruppo.zip
-rw-r--r--   1 user  www-data          0 Aug 22 22:10 readme.md
[email protected]  1 user  admin       1s92 Jul  6 10:13 chiave26.pem
drwxr-xr-x   3 user  www-data        102 Aug 20 19:14 thepain

a vederlo così non sembra molto chiaro, ma per ogni file listato compariranno i permessi codificati in rwx come appena visto, ripetuti per tre volte per ogni gruppo UGO.  Nella quarta colonna trovate anche, per ogni file, il gruppo di appartenenza dell’utente che può gestirlo.

Come faccio a leggerlo?!?! :-(

Le lettere w, r e x corrispondono a un 1 mentre il trattino - corrisponde a uno 0. Per cui, ad esempio:

U G O
r w x r w x r w x
1 1 1 1 1 1 1 1 1

In questo caso qui sopra gli user, group e others possono leggere, scrivere ed eseguire il file senza limitazioni.

U G O
r w – r — r – x
1 1 0 1 0 0 1 0 1

In quest’altro caso l’utente può legegre e scrivere, il gruppo può solo leggere, gli altri possono leggere ed eseguire quel file.

Codifica CHMOD binario / decimale / notazione Linux

Questa tabellina riporta la codifica dei vari stati che sono disponibili.

Binario Decimale Rappresentazione Linux
000 0 – – –
001 1 – – x
010 2 – w –
011 3 – w x
100 4 r – –
101 5 r – x
110 6 r w –
111 7 r w x

Sintassi generale chmod

Per usare chmod possiamo sfruttare il template seguente, a questo punto

chmod permessi_utente permessi_gruppo permessi_others [file o directory]

Esempi pratici chmod e significato dei comandi

Andando su esempi pratici, avremo:

  • chmod 777 file equivale a permessi rwx rwx rwx in cui chiunque può fare qualsiasi cosa su file
  • chmod 744 dir equivale a permessi rwx r-- r-- in cui solo lo user può leggere, eseguire e scrivere, mentre gruppo e utente ossono soltanto leggere la dir
  • chmod 200 file equivale a permessi-w- --- ---e significa che il file può essere solo scritto

Inoltre:

chmod 644 file.htm

Imposta i permessi di file.htm su “il proprietario può leggere e scrivere; il gruppo può leggere solo; altri possono leggere solo”.

chmod -R 755 myfiles

Cambia i permessi della directory myfiles in modo ricorsivo (-R), e tutte le cartelle ei file in essa contenuti, in modalità 755. L’utente può leggere, scrivere ed eseguire; i membri del gruppo e altri utenti possono leggere ed eseguire, ma non possono scrivere.

chmod u=rw esempietto.jpg

Modifica le autorizzazioni per il proprietario di esempietto.jpg in modo che il proprietario possa leggere e scrivere il file. Non modificare le autorizzazioni per il gruppo o per altri.

chmod u+s file.txt

Imposta il “Set-User-ID” di file.txt, in modo che chiunque tenti di accedere a quel file lo faccia come se fosse il proprietario del file.

chmod u-s file.txt

L’opposto del comando sopra; annulla l’impostazione del bit SUID.

chmod 755 file.cgi

Imposta le autorizzazioni di file.cgi su “lettura, scrittura ed esecuzione dal proprietario” e “lettura ed esecuzione dal gruppo e da tutti gli altri”.

chmod 666 file.txt

Imposta il permesso di file.txt su “leggi e scrivi da tutti”.

chmod a=rw file.txt

Fa la stessa cosa del comando precedente, utilizzando una sintassi differente (notazione simbolica). Per sapere come usare chmod in WordPress clicca qui.

Photo by Gabriel Heinzer on Unsplash 


Questo articolo contiene 741 parole – Questo blog esiste da 3.759 giorni.
5/5 (2)

Che te ne pare?

Grazie per aver letto Permessi CHMOD: come funzionano le varie combinazioni chmod 644, chmod 775 ecc. di Max Headroom su Trovalost.it
Permessi CHMOD: come funzionano le varie combinazioni chmod 644, chmod 775 ecc. (Guide, Assistenza Tecnica, Come gestire un sito)

Articoli più letti su questi argomenti: