lsattr (abbreviazione dalla lingua inglese di list attributes, Elenca attributi) è un comando dei sistemi operativi Unix e Unix-like che consente di visualizzare gli attributi dei file memorizzati su un filesystem di tipo ext2/ext3. Funziona anche su filesystem di tipo ext4 e xfs
lsattr [ opzioni ] [ files... ]
Le opzioni più utili sono:
Il comando restituisce sullo standard output l'elenco dei file preceduti da un elenco dei flag degli attributi settati.
Gli attributi estesi, che non vanno confusi con quelli impostabili con il comando chmod, riguardano particolarità specifiche dei filesystem ext2/3 e vengono impostati con il comando chattr. 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.
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
Alcuni attributi con il tempo non sono stati mantenuti, come il caso dell'attributo read only (r).