Tutorial de comandos de Linux chattr para principiantes (5 ejemplos)

Cómo usar el comando chattr

Muchas veces, una máquina Linux es utilizada por diferentes usuarios. Entonces, hay posibilidades de que estos usuarios accedan a un conjunto común de archivos. Esto abre la puerta a problemas como la eliminación accidental o la edición de archivos importantes, algo que usted, como administrador, definitivamente no desearía que sucediera.

Afortunadamente, existe un comando, denominado chattr – que está desarrollado para ayudarte específicamente en este tipo de escenarios. En este tutorial, discutiremos esta herramienta usando algunos ejemplos fáciles de entender, incluyendo cómo el comando chattr sirve para modificar los atributos de archivos de manera que puedas controlar el acceso a los mismos. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí se probaron en Ubuntu 18.04 LTS y Debian 10.

El comando chattr de Linux

Básicamente, chattr linux se usa para cambiar los atributos de los archivos en un sistema de archivos de Linux. A continuación se muestra su sintaxis:

chattr [ -RVf ] [ -v version ] [ mode ] files...

Y esto es lo que dice la página del manual al respecto:

chattr changes the file attributes on a Linux file system.

The format of a symbolic mode is +-=[aAcCdDeijsStTu].

The  operator  ‘+’  causes  the  selected attributes to be added to the
existing attributes of the files; ‘-‘ causes them to  be  removed;  and
‘=’ causes them to be the only attributes that the files have.

The  letters  ‘aAcCdDeijsStTu’ select the new attributes for the files:
append only (a), no atime updates (A), compressed (c), no copy on write
(C), no dump (d), synchronous directory updates (D), extent format (e),
immutable (i), data journalling (j), secure deletion  (s),  synchronous
updates  (S),  no tail-merging

Los siguientes son algunos ejemplos de preguntas y respuestas que deberían darle una buena idea de cómo linux chattr funciona y cómo puede ser aplicado para mantener la integridad de los archivos en su sistema.

Q1. ¿Cómo usar el comando chattr?

 

Suponga que desea hacer un archivo inmutable, es decir, que no pueda ser modificado ni eliminado. Entonces, todo lo que tiene que hacer es ejecutar el comando chattr con la opción +i y el nombre del archivo como entrada. Esto ejemplifica cómo el comando chattr sirve para proteger los archivos.

Por ejemplo:

chattr +i test.txt

La siguiente captura de pantalla muestra que ninguna otra operación fue exitosa en el archivo una vez que se convirtió en solo lectura usando chattr + i.

Cómo usar el comando chattr

Nota: Como ya habrás observado, necesitas tener privilegios de root para usar el comando chattr.

Q2. ¿Cómo eliminar la restricción de solo lectura impuesta por chattr?

Esto es simple: todo lo que tiene que hacer es usar la opción -i en lugar de +i. Por ejemplo, para eliminar la inmutabilidad que impide la edición de un archivo, puede usar chattr -i.

chattr -i prueba.txt

Cómo eliminar la restricción de solo lectura impuesta por chattr

Entonces puede ver que el factor de solo lectura se eliminó con la opción -i.

Q3. ¿Cómo proporcionar permiso de solo agregar a un archivo?

A veces, es posible que no desee una restricción completa en un archivo. Lo que quiero decir es que es posible que desee proporcionar a los usuarios acceso de solo agregar a un archivo, de modo que se pueda agregar nueva información, pero la información existente no se puede eliminar ni editar. Esto también es posible usando chattr a través de la opción +a, también conocido como chattr +a.

chattr +a test.txt

Cómo proporcionar permiso de solo agregar a un archivo

Entonces puede ver que podríamos agregar al archivo ahora, pero no pudimos editar la información existente en el archivo ni eliminar el archivo. Para revertir este comportamiento, simplemente use la opción -a.

chattr -a test.txt

Q4. ¿Cómo aplicar una restricción usando chattr a todos los archivos en un directorio?

Esto se puede hacer usando la bandera -R, que le permite cambiar recursivamente los atributos de los directorios y sus contenidos. Por ejemplo, si desea que todos los archivos dentro del directorio test-dir sean de solo lectura, use el comando chattr r de la siguiente manera:

chattr -R +i ./test-dir/

La siguiente captura de pantalla muestra que la restricción de solo lectura se aplicó con éxito a todos los archivos dentro del directorio.

Cómo aplicar una restricción usando chattr a todos los archivos en un directorio

P5. ¿Cómo verificar los atributos de chattr aplicados en los archivos?

Hasta ahora, para verificar si un atributo chattr se aplicó con éxito, intentamos realizar operaciones como editar el archivo o eliminarlo. Pero hay un comando separado que le permite ver fácilmente si los atributos se aplicaron o no. El comando en cuestión es lsattr.

lsattr [FILENAME]

Por ejemplo, la siguiente captura de pantalla muestra el resultado de lsattr, lo que sugiere claramente que el atributo ‘i’ de chattr + i se aplicó a todos los archivos del directorio.

Cómo verificar los atributos de chattr aplicados en los archivos

Solo para reconfirmar, aquí está el resultado después de usar la opción -i.

salida después de que se usó la opción -i

Como puede ver en la captura de pantalla anterior, el atributo de solo lectura se eliminó de todos los archivos.

Conclusión

Probablemente estará de acuerdo en que chattr es una herramienta de línea de comandos que debe conocer si es un administrador del sistema o administra usuarios en una máquina Linux en general. El uso efectivo del comando puede ahorrarle muchas molestias. Este artículo debería ser suficiente para comenzar con el comando. Una vez que haya practicado los ejemplos que hemos discutido aquí, diríjase a la herramienta página man para aprender más al respecto.

Deja una respuesta

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