Proteger archivos o directorios en Linux

Si queremos proteger contra el borrado o la edición, tanto archivos como directorios y hacer que estos sean inmutables podemos usar el comando chattr.
Para ello lo hacemos de la siguiente manera:

sudo chattr +i -V /ruta/al/archivo_importante.txt

El parámetro +i le indica que haga inmutable el archivo indicado.
El parámetro -V nos muestra la información por pantalla.

También disponemos del parámetro -a (append) que nos permite añadir información al archivo pero no eliminarlo ni modificar el contenido actual.

Por ejemplo, tenemos un archivo de texto llamado archivo.txt, al que previamente le hemos añadido la inmutabilidad, con el siguiente contenido:

Contenido de un archivo inmutable
con un contenido de 3 líneas
**tercera línea**

Aunque lo editemos con sudo no se podrá guardar por que no nos lo permite.
Pero si ejecutamos un comando y lo redirigimos añadiéndolo al archivo archivo.txt veremos como se añade la información al final del mismo:

df >> archivo.txt
cat archivo.txt


Nuevo contenido:

Contenido de un archivo inmutable
con un contenido de 3 líneas
**tercera línea**
S.ficheros     bloques de 1K    Usados Disponibles Uso% Montado en
udev                 8082628         0     8082628   0% /dev
tmpfs                1624800      3248     1621552   1% /run
/dev/sda3          120460756   9719928   104549020   9% /
tmpfs                8123992         0     8123992   0% /dev/shm
tmpfs                   5120        12        5108   1% /run/lock
/dev/sda2             523248      5972      517276   2% /boot/efi
/dev/sdc1         1921724608 242817932  1581214620  14% /mnt/Universo
/dev/sdb1          479600448 242817828   212346960  54% /mnt/Datos

Disponemos de dos parámetros más que nos indican si la información contenida en el archivo podrá ser recuperada o por el contrario eliminada de forma permanente sobreescribiendo los bloques usados en el disco duro con ceros.
-s > Al borrar el archivo la información almacenada en él no será recuperable
-u > Al borrar un archivo, la información almacenada en él será posible recuperarla con ciertas limitaciones.

Proteger un directorio

Si quisiéramos proteger un directorio completo lo hacemos de la siguiente manera:

sudo chattr +i -VR /home/usuario/directorio_importante

En este caso se le ha añadido la opción -R para que sea recursiva la acción de hacer inmutables tanto el directorio como los archivos.
Hay que tener en cuenta que si asignamos esta orden al directorio no podremos tampoco crear archivos dentro del mismo.

Si queremos que los archivos y/o directorios dejen de ser inmutables y de estar protegidos usaremos el parámetro -i siguiendo la misma estructura anterior.

sudo chattr -i -VR /ruta/al/directorio_importante

Ver o listar archivos inmutables

Si queremos ver cuales son los archivos inmutables o protegidos y cuales no, usaremos el comando lsattr.

lsattr
----i---------e------- ./uno1.txt
----i---------e------- ./uno3.txt
----i---------e------- ./uno2.txt
s----a--------e------- ./archivo_prueba

A la hora de listar los archivos para ver su inmutabilidad disponemos de las siguientes opciones:
-R > Muestra los archivos y sus subdirectorios de forma recursiva.
-d > Muestra los atributos de inmutabilidad del directorio en curso.
-a > Muestra los archivos ocultos.

Sobre mi

Trabajo en el desarrollo de webs profesionales desde hace más de 25 años.
También me dedico a mis proyectos personales.

Últimas notas publicadas

Categorías

Scroll al inicio