Si está buscando evitar que cualquier archivo se modifique, elimine o cambie de nombre, deberá configurar el indicador inmutable en él. Se puede configurar en archivos o directorios. Una vez que se agrega la bandera inmutable, los archivos/carpetas no se pueden modificar ni eliminar. Si ha agregado un indicador inmutable y desea realizar cambios en sus archivos, deberá eliminar el indicador inmutable. Es un atributo del sistema de archivos extendido.
Consulte los siguientes pasos para configurar el indicador inmutable. Deberá iniciar sesión con root para establecer el indicador inmutable.
- Primero, crearemos un archivo llamado test.txt con el siguiente comando.
# touch test.txt
- Utilice el comando lsattr para verificar el atributo extendido. De forma predeterminada, solo aparece 'e'.
# lsattr test.txt
- Agregaremos algo de contenido en test.txt y debería funcionar bien, ya que aún no hemos realizado ningún cambio.
# echo This is a test of immutable flage >> test.txt
# cat test.txt - Utilicemos el comando chattr para establecer el indicador +i. Aquí me refiero a inmutable.
# sudo chattr +i test.txt
- Ahora usaremos el siguiente comando para verificar el inmutable para el archivo test.txt
# lsattr test.txt
Salida :
----i---------e---- test.txt
- Según el resultado anterior, test.txt ahora es inmutable. Intentaremos modificar o eliminar el mismo archivo.
# echo test-modification >> test.txt
-bash: test.txt: Permission denied# rm -f test.txt
rm: cannot remove ‘test.txt’: Operation not permitted# mv test.txt test2.txt
mv: cannot move ‘test.txt’ to ‘test2.txt’: Operation not permittedSegún el error anterior, podemos ver que el archivo no se ha podido modificar ni eliminar, ya que hemos establecido el indicador inmutable en él. Tenga en cuenta que si establece inmutable en cualquiera de las carpetas, establecerá el indicador inmutable para archivos/carpetas completos dentro de la misma carpeta.
- Si desea realizar cambios en el mismo archivo, deberá eliminar el inmutable. El siguiente comando eliminará el indicador inmutable de cualquiera de los archivos.
# chattr -i test.txt
- Verificaremos que la marca inmutable no se elimine.
# lsattr test.txt
Salida:
-------------e-- test.txt
Ahora, puede modificar o eliminar el archivo sin ningún problema.