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 charlar Р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. 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, el comando chattr 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 funciona el comando chattr.

Q1. ¬ŅC√≥mo usar el comando chattr?

 

Suponga que desea hacer un archivo de solo lectura. Entonces, todo lo que tiene que hacer es ejecutar el comando chattr con la opción +i y el nombre del archivo como entrada.

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.

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:

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.

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 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’ 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 *