Mi Blog
▷ Cómo convertir un fichero a inmutable en GNU/Linux

Cómo convertir un fichero a inmutable en GNU/Linux

 

En esta nueva publicación en mi Blog, os enseñaré de una forma muy rápida como impedir que tanto ficheros como directorios sean borrados accidental ó intencionadamente. Solamente necesitamos un equipo con GNU/Linux en cualquiera de sus "sabores" para poder probar y practicar lo que os indique en este artículo. Es un tutorial muy sencillo y el nivel de conocimiento/experiencia para llevarlo a cabo es prácticamente cero por tanto no tengas miedo de hacerlo mal o equivocarte.

🤖 Haz un resumen de este artículo con Inteligencia Artificial 🤖

💬 ChatGPT 🔍 Perplexity 🔮 Google AI Mode 🐦 Grok

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

Os voy a explicar muy brevemente como crear y modificar un fichero y/o directorios para que ningún usuario del sistema, ni siquiera root puedan borrarlos.

Cualquier duda, problema ó sugerencia, podéis dejar un comentario abajo del tutorial. ¡Allá vamos!

 

 

1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL

  • GNU/Linux Debian 8 64bits

2.- EL COMANDO CHATTR

El comando para conseguir que un fichero esté a salvo incluso del borrardo con privilegios de root, es chattr. Tiene multitud de parámetros los cuales se aplican con el símbolo "+" delante de ellos y se desactivan con el símbolo "-" delante. ara ver estos atributos especiales es necesario el comando lsattr:

Los parámetros que admite chattr son:

a : Append Only

A : Do not update Atime

c : Compressed Attribute

C : No copy-on-write

d : No dump

D : Sychronous Directory Update

e : Extents

E : Experimental Attribute

i : Immutable

I : Directory is being indexed

j : Data journaling

s : Secure deletion

S : Sychronous Update

t : No tail merging

T : Top of directory Hierachy

u : Undeletable

 

 

3.- PROBANDO EL COMANDO

Crearemos un fichero y un directorio con los permisos normales como se ve a continuación:

Fichero inmutableCreación de fichero y directorio

Si queremos ver los atributos especiales, ejecutaremos lsattr para poder visualizarlos:

# lsattr

Fichero inmutableAtributos por efecto

Para "convertir" un fichero y/ó directorio a inmutable, deberemos ejecutar chattr +i

# chattr +i /tutorial_chattr/fichero_de_pruebas.txt
# chattr +i /tutorial_chattr/directorio_pruebas

Ahora si visualizamos los atributos especiales con lsattr, podemos ver como el atributo "i" está activo:

Fichero inmutableAtributos con +i

Si usamos el comando "ls" normal, dichos atributos especiales no sale y no podemos verlos. En la imagen siguiente se puede ver que tanto el fichero como el fichero pertenecen al usuario root y grupo root:

Fichero inmutablePropietario, grupo y permisos del fichero y directorio

Ahora viene la prueba de fuego: ¿qué sucede si intentamos borrar un fichero de root, pero es inmutable? La respuesta es sencilla, ni siquiera root puede borrar dicho fichero/directorio:

Fichero inmutableIntentando borrar un fichero inmutable con root

Si quitamos el atributo de inmutable, y probamos a borrar, veremos como si nos deja borrarlo:

# chattr -i /tutorial_chattr/fichero_de_pruebas.txt
# chattr -i /tutorial_chattr/directorio_pruebas

Fichero inmutableBorrando el mismo fichero sin atributo de inmutable

Este procedimiento podemos aplicarlo tanto a ficheros como directorios.

 

 

4.- APLICACIÓN EN EL MUNDO REAL

A modo de ejemplo, os puedo comentar que en la versión de Transmission (torrent) de Raspbian de mi Raspberry Pi, cada vez que el equipo se reinicia o el servicio Transmission, el fichero de configuración pierde los valores configurados manualmente. Para evitar esto simplemente he convertido el fichero de configuración a inmutable y el proceso de Transmission ya nunca podrá sobreescribir mis cambios manuales del fichero de configuración.

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!