Proteger archivos y carpetas en Linux con chattr

En Tutoriales y Guías por

El sistema de permisos que nos ofrece Linux por defecto es muy potente y nos ofrece solución a la gran mayoría de problemas y necesidades de los usuarios. En otras ocasiones los permisos no son la mejor solución o no se adaptan a nuestras necesidades, por ejemplo cuando queremos que un archivos sea inmutable y que ni siquiera el usuario root pueda modificarlo, en esta situación podemos recurrir a chattr para proteger archivos y carpetas en Linux.

Proteger archivos y carpetas en Linux con chattr

El comando chattr nos permite agregar una serie de atributos o flags, de forma que podemos proteger archivos y carpetas con una mayor flexibilidad.

Como proteger archivos y carpetas en Linux con chattr

El primer comando que vamos a ver es: chattr +i

Con este comando agregamos el atributo +i para que el archivo sea inmutable y no pueda ser borrado o modificado por nadie, teniendo en cuenta que ni siquiera el usuario root podrá modificarlo o eliminarlo. En el siguiente ejemplo vamos a proteger un archivo llamado contraseñas.txt:
chattr +i contraseñas.txt

También puede llegar un momento en que queramos quitar esta protección al archivo, para ello emplearemos el atributo –i con el siguiente comando:
chattr -i contraseñas.txt

El segundo comando que nos interesa es: chattr +a

Este comando agrega el atributo +a para que el contenido de un archivo sea inmutable, pero en esta ocasión permite agregar líneas nuevas. Dicho de otra forma, el contenido original del archivo permanece invariable, pero podemos agregar nuevas líneas. Para añadir este atributo a un archivo ejecutamos el siguiente comando:
chattr +a contraseñas.txt

Si por el contrario queremos eliminar este atributo ejecutamos:
chattr -a contraseñas.txt

Por último vamos a ver el comando: lsattr

Con este comando podemos ver un listado de los atributos que tiene asociados un archivo. Un ejemplo de uso sería:
lsattr contraseñas.txt

Como podemos ver chattr puede ser gran utilidad sobre todo en sistemas compartidos con más personas o para proteger archivos importantes en Linux. Este comando tiene más opciones pero no es el objetivo de este artículo, para conocer toda la funcionalidad de este comando consulta su página de ayuda desde la terminal con el comando man chattr.