Come modificare gli attributi dei file con il comando chattr su Linux

10 dic 2020 2 min di lettura
Come modificare gli attributi dei file con il comando chattr su Linux
Indice dei contenuti

Introduzione

In Linux, gli attributi di file sono proprietà di metadati che descrivono il comportamento del file. Ad esempio, un attributo può indicare se un file è compresso o specificare se il file può essere eliminato.

Alcuni attributi come l'immutabilità possono essere impostati o cancellati, mentre altri come la crittografia sono di sola lettura e possono essere solo visualizzati. Il supporto per alcuni attributi dipende dal filesystem utilizzato.

Questo articolo spiega come utilizzare il comando chattr per modificare gli attributi di file sui file system Linux.

Sintassi del comando chattr

Il comando chattr assume la seguente forma generale:

chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...

Il valore di [OPERATOR] può essere uno dei seguenti simboli:

  • + - Questo operatore dice al comando chattr di aggiungere gli attributi specificati a quelli esistenti.
  • - - Questo operatore dice al comando chattr di rimuovere gli attributi specificati da quelli esistenti.
  • = - Questo operatore dice al comando chattr a impostare gli attributi specificati come gli unici attributi.

L'operatore è seguito da uno o più flag [ATTRIBUTES] che si desidera aggiungere o rimuovere dagli attributi del file. Di seguito è riportato un elenco di alcuni attributi comuni e flag associati:

  • a - Quando questo attributo è impostato, il file può essere aperto solo in modalità di aggiunta (append) per la scrittura.
  • A - Quando un file con questo set di attributi è aperto, il suo record atime (ora di accesso) non viene modificato. atime è l'ultima volta che il file è stato aperto da qualche comando o applicazione.
  • e - Questo attributo indica che il file utilizza le estensioni per mappare i blocchi sul disco. L'attributo e non può essere modificato con chattr.
  • i - Questo attributo indica che il file non è modificabile, il che significa che il file non può essere eliminato o rinominato.

Per un elenco completo di tutti gli attributi e flag di file, digita il comando man chattr sul tuo terminale:

man chattr

Per impostazione predefinita, gli attributi del file non vengono conservati quando si copia un file con comandi come cp o rsync.

Esempi del comando chattr

Uno degli usi comuni di chattr è impostare il flag non modificabile su un file o una directory per impedire agli utenti di eliminare o rinominare il file.

È possibile visualizzare gli attributi del file con il comando lsattr:

lsattr todo.txt

L'output seguente mostra che è impostato solo il flag e:

--------------e----- todo.txt

Per rendere il file immutabile, aggiungi il flag i con l'operatore + agli attributi esistenti:

sudo chattr +i todo.txt

Stiamo usando sudo perché solo root può cambiare il flag immutabile.

Conferma che l'attributo è stato aggiunto:

lsattr todo.txt
----i---------e----- todo.txt

Per annullare le modifiche e rimuovere il flag immutabile, utilizzare l'operatore -:

sudo chattr +i todo.txt

Con chattr, puoi aggiungere o rimuovere più attributi contemporaneamente. Ad esempio, per rendere il file immutabile e dire al kernel di non tenere traccia dell'ultimo accesso, dovresti usare:

sudo chattr +iA todo.txt

L'ultimo operatore che puoi utilizzare è l'operatore =. Ad esempio, per impostare l'attributo e come unico attributo, dovresti eseguire:

sudo chattr "=e" todo.txt

Si noti che l'operatore e il flag sono racchiusi tra virgolette, per evitare l'interpretazione della shell del carattere +.

Conclusione

chattr è uno strumento da riga di comando per modificare gli attributi di file su un file system Linux.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.