Chattr

chattr (abbreviazione dalla lingua inglese di Change attributes, Cambia attributi) è un comando dei sistemi operativi Unix e Unix-like che consente di modificare gli attributi dei file memorizzati su un filesystem di tipo ext2/ext3.

Sintassi

 chattr [ -RVf ] [ -v version ] [ modalità ] files

Le opzioni sono:

  • -R che effettua una ricerca ricorsiva
  • -V verboso
  • -f sopprime i comuni messaggi di errore

Le modalità possono essere impostate con il simbolo + per aggiungere un attributo o - per rimuoverlo

Il comando associato a chattr è lsattr che consente di elencare gli attributi impostati sui files.

Attributi

Gli attributi estesi, che non vanno confusi con quelli impostabili con il comando chmod, riguardano particolarità specifiche dei filesystem ext2/3. In taluni casi questi attributi potrebbero essere impostati dolosamente da cracker o da rootkit per rendere più complessa l'eliminazione di un file di sistema compromesso o, viceversa, usato dai sistemisti per irrobustire un sistema (ad esempio settando il flag a sui file di log, rendendoli non cancellabili).

  • A non aggiornare l'atime
  • S aggiornamento sincrono
  • D aggiornamento sincrono delle directory
  • a solo append
  • c compresso
  • d non effettuare dump
  • i immutabile
  • s cancellazione sicura
  • T top of directory hierarchy
  • j data journaling
  • t no tail-merging
  • u non cancellabile

Esempi di utilizzo

Generazione di un file di test:

# touch pippo.txt

Visualizzazione degli attributi:

# lsattr pippo.txt
-----------------e- pippo.txt

Impostazione degli attributi di immutabilità con il comando chattr e nuova visualizzazione:

# chattr +i pippo.txt
# lsattr pippo.txt
----i------------e- pippo.txt

Tentativo di rimozione del file con permessi di immutabilità:

# rm pippo.txt 
rm: impossibile rimuovere "pippo.txt": Operazione non permessa

Con i permessi di immutabilità è impossibile anche scrivere sul file:

# echo "ciao" >> pippo.txt
bash: pippo.txt: Permesso negato

nonostante i permessi del file lo consentano:

# whoami
root
# ls -l pippo.txt
-rw-r--r-- 1 root root 0 2011-08-23 22:53 pippo.txt

Nota

Alcuni attributi con il tempo non sono stati mantenuti, come il caso dell'attributo read only (r).

Voci correlate

  • lsattr

Collegamenti esterni

  • (EN) chattr: change file attributes on a Linux second extended file system, in Unix man pages. URL consultato il 23-08-2011 (archiviato dall'url originale il 7 gennaio 2013).
  Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di sicurezza informatica