En Linux, los atributos de archivo son propiedades de metadatos que describen el comportamiento del archivo. Por ejemplo, un atributo puede indicar si un archivo está comprimido o especificar si el archivo se puede eliminar.

Algunos atributos, como la inmutabilidad, se pueden configurar o borrar, mientras que otros, como el cifrado, son de solo lectura y solo se pueden ver. El soporte para ciertos atributos depende del sistema de archivos que se utilice.

Este artículo explica cómo usar el chattrcomando para cambiar los atributos de los archivos en los sistemas de archivos de Linux.

chattrSintaxis

El chattrcomando toma la siguiente forma general:

chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...

El valor de la [OPERATOR]pieza puede ser uno de los siguientes símbolos:

  • +- El operador más le dice chattra agregar atributos específicos a los existentes.
  • -- El operador menos le dice chattra eliminar los atributos especificados de los existentes.
  • =- El operador igual le dice chattra establecer los atributos especificados como los únicos atributos.

El operador va seguido de uno o más [ATTRIBUTES]indicadores que desea agregar o eliminar de los atributos del archivo. A continuación se muestra una lista de algunos atributos comunes y banderas asociadas:

  • a- Cuando se establece este atributo, el archivo solo se puede abrir en modo de adición para escritura.
  • A- Cuando se abre un archivo con este conjunto de atributos, su registro atime no cambia. atime (hora de acceso) es la última vez que algún comando o aplicación accedió/abrió el archivo.
  • e- Este atributo indica que el archivo usa extensiones para mapear los bloques en el disco. El eatributo no se puede modificar con chattr.
  • i- Este atributo indica que el archivo es inmutable, lo que significa que el archivo no se puede eliminar ni cambiar de nombre.

Para obtener una lista completa de todos los atributos y banderas de los archivos, escriba man chattren su terminal.

De forma predeterminada, los atributos del archivo no se conservan al copiar un archivo con comandos como cp o rsync .

chattrEjemplo

Uno de los usos comunes de chattres establecer el indicador inmutable en un archivo o directorio para evitar que los usuarios eliminen o cambien el nombre del archivo.

Puede ver los atributos del archivo con el lsattrcomando:

lsattr todo.txt

El siguiente resultado muestra que solo ese establece la bandera:

--------------e----- todo.txt

Para hacer que el archivo sea inmutable, agregue la ibandera con el +operador a los atributos existentes:

sudo chattr +i todo.txt

Estamos usando sudo porque solo la raíz puede cambiar la bandera inmutable.

Confirme que se agrega el atributo:

lsattr todo.txt
----i---------e----- todo.txt

Para revertir los cambios y eliminar la bandera inmutable, use el -operador:

sudo chattr +i todo.txt

Con chattr, puede agregar o eliminar varios atributos a la vez. Por ejemplo, para hacer que el archivo sea inmutable y decirle al kernel que no rastree la última vez que se accedió, usaría:

sudo chattr +iA todo.txt

El último operador que puede utilizar es el =operador. Por ejemplo, para establecer el eatributo como el único atributo, ejecutaría:

sudo chattr "=e" todo.txt

Tenga en cuenta que el operador y la bandera están entre comillas, para evitar la interpretación del +carácter por parte del shell.

Conclusión

chattr es una herramienta de línea de comandos para cambiar los atributos de archivo en un sistema de archivos Linux.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.