chattr y lsattr: visualizar y modificar atributos en sistemas de ficheros Linux
Hace unos días explicamos en una entrada cómo hacer que ningún usuario (incluido root) pudiera borrar ficheros en Linux. Para ello hacíamos uso de dos comandos, lsattr y chattr:
El primer comando, lsattr permite listar los atributos asignados a los ficheros de un sistema de ficheros Linux, mientras que chattr permite modificar dichos atributos. El uso de lsattr no tiene demasiado misterio, ya que únicamente nos servirá para listar atributos, ejemplo:
$ lsattr -a ------------- ./.. ------------- ./.bash_history ------------- ./. ------------- ./prueba.txt ------------- ./.bashrc ------------- ./.bash_profile ------------- ./.ssh ------------- ./.bash_logout
En este caso, no hay atributos asignados a los ficheros de la carpeta en la que ejecutamos lsattr. Para comenzar a asignar atributos haremos uso del comando chattr. A continuación vamos a ver mediante ejemplos algunas de las posibilidades que nos ofrece, las letras que pasamos como parámetro simbolizan los atributos a modificar y el (+) o el (-) si lo añadimos o quitamos. Como parámetros opcionales a chattr podemos pasar que el cambio de atributos sea recursivo (R), verbose (V) y suprimir la salida de errores (f).
Asignar el atributo ‘A’ para que cuando se acceda al fichero no se modifique el registro atime. De este modo no quedarán registrada la fecha del último acceso al fichero:
# chattr +A prueba.txt # lsattr prueba.txt -------A----- prueba.txt
Asignar el atributo ‘c’ para que el fichero se comprima automáticamente en el disco por el kernel. Cuando se lea el fichero se servirá descomprimido:
# chattr +c prueba.txt # lsattr prueba.txt --------c---- prueba.txt
Asignamos el atributo ‘i’ para que el fichero no pueda ser modificado, borrado o renombrado:
# chattr +i prueba.txt # lsattr prueba.txt ----i-------- prueba.txt
Asignamos el atributo ‘u’ para que cuando el fichero se borre, sus datos permanezcan guardados y permitan al usuario su recuperación:
# chattr +u prueba.txt # lsattr prueba.txt -u----------- prueba.txt
Y así podríamos seguir con una gran cantidad de distintos atributos. Como siempre, podéis revisarlos en la página man de chattr. Por supuesto, los atributos se pueden asignar a la vez:
# chattr +uiAc prueba.txt # lsattr prueba.txt -u--i--Ac---- prueba.txt


Comentarios recientes