A veces es necesario proteger algunos archivos y/o carpetas para que no puedan ser borrados. Puede ser el caso de pcs compartidas o de sistemas donde se necesite mejorar un poco la seguridad en caso de posibles penetraciones.
El comando que nos ayudara con la tarea sera chattr (change attribute). Este se utiliza para cambiar varios atributos de archivos y puede usarse en carpetas de manera recursiva. Y tambien haremos uso del comando lsattr (list attribute) para ver las modificaciones que hacemos.
El comando es parte del paquete que viene instalado de base en todas las distros de linux.
Se usa asi:
chattr [opciones][operadores][atributos]
En opciones tenemos por ejemplo:
- -R: Que es para cambios recursivos. Se usa con carpetas
En los operadores tenemos por ejemplo:
- +: Para añadir atributos
- -: Para quitar atributos
Y en los atributos podemos poner por ejemplo:
- a: Establece que el fichero solo se puede abrir en modo de adjuntar para escritura
- s: Los bloques utilizados en el disco duro son escritos con ceros, de modo que los datos no se puedan recuperar por medio alguno. Es la forma más segura de eliminar datos.
- u: Sus contenidos son guardados permitiendo recuperar el fichero con herramientas para tal fin.
Se pueden encontrar mas de todo eso en la pagina man de chattr pero en concreto a nosotros nos interesa el atributo ‘i’ que hace que el archivo no pueda ser renombrado, ni eliminado, ni escribir datos en el. O sea que lo pone en modo de solo lectura.
Supongamos que tenemos el archivo DatosImportantes.txt que queremos proteger. Hacemos asi:
sudo chattr +i DatosImportantes.txt
Y ya no podran borrarlo con un
rm DatosImportantes.txt
Ni siquiera con un
sudo rm DatosImportantes.txt
Y si fuera una carpeta la que queremos proteger de ser borrada, seria asi:
sudo chattr -R +i MiCarpeta
Podemos comprobar que el atributo ha sido agregado usando lsattr en la carpeta que contiene esa otra carpeta o el archivo:
lsattr -a
Y podriamos ver claramente el atributo agregado:
Y cuando deseemos poder eliminar ese archivo usaremos
sudo chattr -i DatosImportantes.txt
Espero que les haya gustado el tip :)