In Linux, gli attributi dei file sono proprietà dei 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 determinati attributi dipende dal filesystem utilizzato.
Questo articolo spiega come usare chattr
comando per modificare gli attributi dei file sui file system Linux.
chattr
Sintassi #
Il chattr
comando assume la seguente forma generale:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
Il valore del [OPERATOR]
parte può essere uno dei seguenti simboli:
+
- L'operatore più dice achattr
per aggiungere attributi specificati a quelli esistenti.-
- L'operatore meno dice achattr
per rimuovere gli attributi specificati da quelli esistenti.=
- L'operatore uguale dice achattr
per impostare gli attributi specificati come unici attributi.
L'operatore è seguito da uno o più [ATTRIBUTES]
flag 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à append per la scrittura.A
- Quando un file con questo set di attributi è aperto, il suo record atime non viene modificato. atime (tempo di accesso) è l'ultima volta che il file è stato aperto/aperto da qualche comando o applicazione.e
- Questo attributo indica che il file utilizza estensioni per mappare i blocchi su disco. Ile
l'attributo non può essere modificato conchattr
.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 i flag dei file, digita man chattr
nel tuo terminale.
Per impostazione predefinita, gli attributi del file non vengono conservati durante la copia di un file con comandi come cp
o rsync
.
chattr
Esempio #
Uno degli usi comuni di chattr
consiste nell'impostare il flag immutabile su un file o una directory per impedire agli utenti di eliminare o rinominare il file.
Puoi visualizzare gli attributi del file con lsattr
comando:
lsattr todo.txt
L'output seguente mostra che solo il e
il flag è impostato:
--------------e----- todo.txt
Per rendere il file immutabile, aggiungi il i
contrassegna con il +
operatore agli attributi esistenti:
sudo chattr +i todo.txt
Stiamo usando sudoperché 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, utilizza -
operatore:
sudo chattr +i todo.txt
Con chattr
, puoi aggiungere o rimuovere più attributi contemporaneamente. Ad esempio, per rendere immutabile il file e dire al kernel di non tenere traccia dell'ora dell'ultimo accesso, dovresti usare:
sudo chattr +iA todo.txt
L'ultimo operatore che puoi usare è =
operatore. Ad esempio, per impostare il e
attributo come unico attributo, eseguiresti:
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 del file su un file system Linux.
Se hai domande o feedback, sentiti libero di lasciare un commento.