lsattr – chattr
Introducción
Existen atributos muy poco conocidos para los archvos del sistema de archivos Second Extended Filesystem (ext2) y Third Extended Filesystem (ext3), pero sin embargo estos son bastante prácticos.
Para ver o modificar estos atributos, tenemos a nuestra disposición dos comandos (contenidos en e2fsprogs),
lsattr y
chattr.
lsattr
Permite listar los atributos.
Las diferentes invocaciones:
lsattr [ files ... ] [ dir ... ]
Muestra los atributos de archivos y carpetas determinados, así como de los archivos de la carpetas actualmente en uso.
lsattr -d [ dir ... ]
Muestra los atributos de carpetas determinadas, o de la carpeta en uso en lugar de los de su contenido.
lsattr -a
Lista los atributos de todos los archivos.
lsattr -R dir
Lista recursivamente los atributos de los archivos.
chattr
Permite modificar los atributos.
Las diferentes invocaciones:
chattr +attr file
chattr -attr file
chattr =attr file
Bajo el mismo principio de funcionamiento que
chmod
+attr añade el atributo
-attr retira el atributo
=attr sólo deja los atributos determinados
La opción -R permite cambiar recursivamente los atributos.
Los atributos
Son en total 16 (dieciséis), todos identificables por una letra [ASacDdIijsTtuEXZ]
-A
La fecha del último acceso no es actualizada (únicamente es útil para reducir los accesos al disco en las portátiles)
-S
El archivo es síncrono, las escrituras en el archivo son inmediatamente efectuadas en el disco (equivalente a la opción sync de mount aplicado a un sub-conjunto de archivos)
-a
el archivo sólo puede ser abierto en adición para escritura (journaling o registro por diario, etc.)
Sólo el re-direccionamiento >> puede ser usado, el archivo no puede ser eliminado.
Sólo el usuario root o un programa que disponga de privilegios necesarios puede cambiar este atributo.
-c
Automáticamente el archivo es comprimido antes de la escritura en disco, y descomprimido antes de la lectura.
-D
La carpeta es síncrona (como -S) (equivalente a la opción dirsync de mount en un subconjunto de carpetas)
Utilizado a partir del núcleo 2.5.19
-d
El archivo no será salvado por el comando
dump
-I
No puede ser modificado por
chattr, únicamente listado por
lsattr
Indica que la carpeta está indexada.
-i
El archivo/directorio no puede ser modificado, borrado, renombrado o ligado simbólicamente, ni siquiera por el root.
Sólo root o un binario que posea los privilegios necesarios puede modificar este atributo.
-j
EXT3 únicamente.
Si el sistema de archivos es montado con la opción "data=ordered" o "data=writeback", todos los datos del archivo son escritos en el diario antes de ser escritos en el archivo mismo.
Si el sistema de archivos es montado con la opción "data=journal", todos los datos de todos los archivos ya están en el diario, el atributo no tiene ningún efecto.
Sólo root o un binario que posea los privilegios necesarios puede modificar este atributo.
-s
Cuando el archivo es destruido, todos los bloques de datos liberados son puestos en cero.
-T
Utilizable a partir de la versión 2.5.46 del núcleo.
No se ha encontrado más información por el momento.
-t
Tiene que ver con la fragmentación.
Que yo sepa, por el momento no está implementado en ext2 y ext3.
-u
Si el archivo es borrado, su contenido es salvado, esto permite al usuario pedir su restauración.
-E
Experimental, permite detectar un error de compresión, no puede ser modificado por
chattr, pero puede ser listado por
lsattr
-X
Experimental, indica que los datos brutos de un archivo comprimido pueden ser accedidos directamente.
Por el momento no puede ser modificado por
chattr
-Z
Experimental, da información del estado de un archivo comprimido.
Únicamente puede ser listado por
lsattr
Los atributos
A c s y
u sólo pueden ser utilizados a partir del núcleo 2.3, pero no están implementados en el núcleo 2.4, esto parece también ser el caso con el núcleo 2.6.
En todos los casos, les invito a que verifiquen el correcto funcionamiento de todos estos atributos antes de usarlos.
PD: El
artículo original fue escrito por asevere contribuidor de
CommentCaMarche