Howto

Chmod :Introduzione alle autorizzazioni e agli attributi dei file.

Il comando  chmod


Chmod-
Nel vasto e affascinante mondo di Linux, la sicurezza dei file è una priorità assoluta. La possibilità di gestire in modo preciso chi può accedere ai nostri file e quali operazioni possono essere eseguite su di essi è fondamentale per la protezione dei dati e la gestione delle risorse digitali. E in questo contesto, il comando CHMOD emerge come una potente freccia nell’arsenale di un amministratore di sistema o di un utente avanzato.

La sua nomenclatura potrebbe sembrare criptica a prima vista, ma dietro il comando CHMOD si nasconde un potere straordinario. È la chiave per definire i permessi dei file e delle directory, determinando chi può leggere, scrivere o eseguire operazioni su di essi. In questo articolo, esploreremo in profondità il mondo del comando CHMOD, smontando ogni suo aspetto e svelando il suo ruolo cruciale nella protezione e nella gestione dei file in Linux.

Scopriremo come il CHMOD assegna diritti ai file e alle directory utilizzando un sistema di autorizzazioni basato su numeri o simboli, fornendo un controllo fine sulla condivisione e l’accesso ai dati. Con esempi pratici e spiegazioni dettagliate, ti guideremo attraverso le diverse opzioni e flag disponibili, dimostrandoti come personalizzare le impostazioni di sicurezza in base alle tue esigenze specifiche.

Gli attributi dei file in Linux.

In Linux, gli attributi dei file sono informazioni associate a un file o a una directory che ne definiscono comportamento e proprietà specifiche. Gli attributi dei file più comuni includono:

Permesso di Lettura (Read): Questo attributo permette a un utente di leggere il contenuto di un file o di visualizzare il contenuto di una directory. In un comando CHMOD, è rappresentato dal numero 4 o dalla lettera “r”.

Permesso di Scrittura (Write): Questo attributo consente a un utente di modificare o scrivere all’interno di un file o di aggiungere, rimuovere o rinominare file all’interno di una directory. È rappresentato dal numero 2 o dalla lettera “w”.

Permesso di Esecuzione (Execute): Questo attributo permette l’esecuzione di file eseguibili o l’accesso a una directory. In un comando CHMOD, è rappresentato dal numero 1 o dalla lettera “x”.

e anche

Proprietario (Owner): Questo attributo indica il proprietario del file o della directory. Il proprietario ha il controllo completo sui permessi del file e può modificarli.

Gruppo (Group): Questo attributo indica il gruppo associato al file o alla directory. Gli utenti appartenenti a questo gruppo possono avere permessi specifici se definiti.

Altri (Others): Questo attributo si riferisce agli utenti che non sono il proprietario né fanno parte del gruppo associato al file o alla directory. Gli attributi “read”, “write” e “execute” possono essere definiti anche per gli “altri”.

Permesso Sticky: Questo attributo speciale è applicato alle directory ed è noto come “Sticky Bit”. Impedisce agli utenti di eliminare o rinominare i file di altre persone nelle directory condivise, a meno che non siano i proprietari dei file o della directory.

Permesso SetGID: Questo attributo speciale è applicato alle directory. Quando è impostato su una directory, tutti i file creati in quella directory erediteranno il gruppo della directory anziché il gruppo primario dell’utente che li ha creati.

Permesso SetUID: Questo attributo speciale è applicato ai file eseguibili. Quando è impostato su un file, il processo che esegue il file assumerà temporaneamente l’identità del proprietario del file, invece dell’utente che lo ha avviato.

Data di Creazione e Ultima Modifica: Questi attributi includono informazioni sulla data e l’ora in cui il file è stato creato e quando è stato l’ultima volta modificato.

Gli attributi dei file sono gestiti tramite comandi come chmod per impostare i permessi, chown per cambiare il proprietario, e chgrp per modificare il gruppo associato. La corretta gestione degli attributi dei file è fondamentale per la sicurezza e la gestione dei dati in un sistema Linux.

Cambiamo agli attributi dei file in Linux con chmod

Quando si utilizza il comando chmod per modificare i permessi e gli attributi del file, ci sono diversi aspetti della sintassi del comando che si possono incontrare.

Per esempio, ci sono opzioni di implementazione che potresti incontrare, come:

  • ricorsiva (-R),
  • forza (-f)
  • verbose (-v)  “dettagliata”

L’implementazione ricorsiva è la più utilizzata e viene utilizzata per applicare le autorizzazioni a tutti i documenti all’interno della directory specificata. L’implementazione “forza” può essere utilizzata quando l’implementazione dovrebbe andare avanti anche se si verificano degli errori, mentre l’implementazione dettagliata (verbose) mostra gli oggetti man mano che vengono elaborati.

Quindi, un esempio potrebbe essere dare accesso in lettura, scrittura, esecuzione (7) al proprietario (u) e al gruppo (g), ma nessun accesso (0) ad altri (o); usando la funzione ricorsiva (-R) per applicare lo stesso livello di permessi a tutti i documenti contenuti all’interno di /utente/directory.

sudo chmod -R 770 /utente/directory

La modalità simbolica

Le autorizzazioni  possono essere assegnate come read (r), write (w) e execute (x) .

Questa modalità è chiamata modalità simbolica.

Quando vengono visualizzate le autorizzazioni, vengono visualizzate in una combinazione di lettere che indica le autorizzazioni per il proprietario, il gruppo e chiunque altro. Per vedere un esempio della notazione nel tuo sistema operativo Linux, apri il terminale e digita ls -l /etc, che elencherà il contenuto di /etc incluse le autorizzazioni.

Io lo faccio sulla mia Rasberry PI.

sudo ls -l
sudo ls -l

Un esempio di questo sarebbe “d r w x r w x -“, che mostra che il proprietario (drwxrwx-) e quelli del gruppo (drwxrwx-) possono leggere, scrivere ed eseguire; chiunque altro all’esterno (drwxrwx-) del proprietario e del gruppo specificato non ha autorizzazioni. Il trattino (-) si verificherà quando non viene fornita un’autorizzazione.

La modalità letterale di chmod può essere particolarmente utile quando si desidera apportare modifiche specifiche ai permessi e si preferisce un approccio basato su parole chiave anziché sulla rappresentazione numerica. Tuttavia, è importante notare che entrambi i metodi, sia numerico che letterale, sono validi per la gestione dei permessi in Linux, e la scelta dipende dalle tue preferenze personali.

 La modalità numerica

Le autorizzazioni possono anche essere visualizzate in modalità numerica, numerando da 0 a 7. Le autorizzazioni, in ordine crescente, non sono permessi (0), eseguono (1), scrivono (2), scrivono ed eseguono (3), leggi (4) , leggi ed esegui (5), leggi e scrivi (6) e leggi, scrivi ed esegui (7).

Ad esempio, nel sistema simbolico, un permesso potrebbe essere visualizzato come “-rw-r-r-“, che potrebbe essere tradotto in modalità numerica come “664”. Ciò indicherebbe che i primi due utenti possono leggere e scrivere in questa directory, mentre il terzo utente può solo leggere in questa directory.

chmod numerica simbolica
chmod numerica simbolica

Il viaggio continua ….