¿Cómo impedir la eliminación de un fichero mediante atributos?

Resulta que me encuentro realizando un curso para obtener la certificación LPIC-1 de Linux y viendo el tema “Sistema de paquetería Debian” el profesor nos ha mandado a un artículo escrito por él donde nos enseña cómo mantener el control de los paquetes Linux con dpkg.

En él pregunta ¿Cómo podemos impedir la eliminación de un fichero mediante atributos? Y yo me he animado a mostrar cómo.

 


 

image02

Logueados como root en el sistema y una vez que tengamos generado el fichero, deberemos añadirle un atributo necesario para que no pueda ser borrado.

 

Para la gestión de atributos tenemos dos comandos:

  • lsattr → lista los atributos asignados.
  • chattr → añade, elimina y/o modifica los atributos.

 

Vamos a ver que atributos tiene actualmente (por defecto) el fichero que acabamos de generar:image00

e (Extent format):

  • El atributo e indica que el fichero está utilizando extensiones para el mapeo de los bloques en el disco.

 

Entre los atributos que podemos añadir, el que nos interesa para que el fichero no pueda ser eliminado es el siguiente:

i (Immutable):

  • Un fichero con el atributo i no puede ser modificado.
  • No puede ser borrado o renombrado, no se puede crear ningún vínculo a este fichero y ningún dato puede ser escrito en el fichero.
  • Cuando el atributo i se establece, impide incluso a root, borrar o cambiar el contenido del fichero.

 

Para añadir el atributo hacemos uso del comando chattr +i state_final_packages.list

image03

 

De esta forma el fichero ya no podrá ser eliminado, ni siquiera por root,

image01

 

Si quisiéramos eliminar el fichero, antes debemos quitarle el atributo con el comando chattr -i state_final_packages.list

image04

 

Aquí tenemos una lista de atributos disponibles: https://en.wikipedia.org/wiki/Chattr

Un comentario sobre “¿Cómo impedir la eliminación de un fichero mediante atributos?

  • el 12 Octubre, 2015 a las 1:12 pm
    Permalink

    No sabia estas cosas hasta que me he encontrado el blog.

    Gracias por el articulo.

    Respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *