Modificar atributos de archivo utilizando chattr
En este paso, exploraremos cómo utilizar el comando chattr para modificar atributos de archivo con más detalle.
Primero, creemos un archivo de muestra con el que trabajar:
touch ~/proyecto/file.txt
Ahora, establezcamos el atributo inmutable en el archivo:
sudo chattr +i ~/proyecto/file.txt
Salida de ejemplo:
$ sudo chattr +i ~/proyecto/file.txt
Con el atributo inmutable establecido, el archivo no puede ser eliminado, renombrado o modificado, incluso por el usuario root. Intentemos eliminar el archivo:
rm ~/proyecto/file.txt
Salida de ejemplo:
$ rm ~/proyecto/file.txt
rm: no se puede eliminar '~/proyecto/file.txt': Operación no permitida
Como puedes ver, el comando rm no pudo eliminar el archivo debido al atributo inmutable.
A continuación, establezcamos el atributo solo de anexión en un directorio:
sudo chattr +a ~/proyecto/logs
Salida de ejemplo:
$ sudo chattr +a ~/proyecto/logs
Con el atributo solo de anexión establecido, los archivos en el directorio ~/proyecto/logs solo se pueden anexar, no modificar ni eliminar. Intentemos crear un nuevo archivo y anexar algunos textos a él:
echo "Nueva entrada de registro" >> ~/proyecto/logs/log.txt
Salida de ejemplo:
$ echo "Nueva entrada de registro" >> ~/proyecto/logs/log.txt
Sin embargo, si intentamos modificar el archivo, la operación será denegada:
echo "Modificando registro" > ~/proyecto/logs/log.txt
Salida de ejemplo:
$ echo "Modificando registro" > ~/proyecto/logs/log.txt
-bash: ~/proyecto/logs/log.txt: Operación no permitida
En este paso, aprendiste cómo utilizar el comando chattr para establecer los atributos inmutable y solo de anexión en archivos y directorios, respectivamente. Estos atributos pueden ser útiles para proteger archivos y registros importantes de modificaciones accidental o no autorizadas.