• Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
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.

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: /

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

Escribir un comentario

Información básica sobre Protección de Datos

Responsable: Raúl Prieto Fernández +info

Finalidad: Moderar los comentarios a los artículos publicados en el blog. +info

Legitimación: Consentimiento del interesado +info

Destinatarios: No se comunicarán datos a persona u organización alguna. +info +info

Derechos: Tiene derecho a Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la información adicional. +info

Plazo de conservación de los datos: Hasta que no se solicite su supresión por el interesado.

Información adicional: Puede consultar la información adicional y detallada sobre Protección de Datos Personales en mi página web raulprietofernandez.net +info

Código de seguridad
Refescar


LOGIN / ENTRAR

BUSCAR EN EL BLOG

TWITTER TIMELINE

Booking.com

ENCUESTA

¿Cual es el mejor Sistema Operativo?

Como es lógico, esta web utiliza cookies propias y de terceros para elaborar información estadística y mostrar publicidad personalizada a través del análisis de tu navegación, conforme a la política de cookies.

  Si continúas navegando, aceptas su uso.