Introducción
El chat El comando en Linux es un comando del sistema de archivos que se utiliza para cambiar los atributos de un archivo en un directorio. El uso principal de este comando es hacer que varios archivos no puedan modificarse para otros usuarios que no sean el superusuario. Como sabemos que Linux es un sistema operativo multiusuario, existe la posibilidad de que un usuario pueda eliminar un archivo que preocupa mucho a otro usuario, dice el administrador. Para evitar este tipo de escenarios, Linux proporciona 'chattr '. En resumen, 'chattr' puede hacer que un archivo sea inmutable, imborrable, solo agregable y mucho más.
Sinopsis
chattr [ -RVf ] [ -v version ] [ mode ] files...
Al comienzo de una cadena de modo, debe aparecer uno de los siguientes operadores:
- ‘+ ‘ :Agregar atributos seleccionados a los atributos existentes de los archivos.
- Y '– ‘ :Hace que se eliminen los atributos seleccionados.
- ‘= ‘ :Hace que los atributos seleccionados sean los únicos atributos que tienen los archivos.
El formato del modo simbólico es:
{+|-|=}[aAcCdDeijsStTu]
La siguiente es una lista de atributos comunes y banderas asociadas que se pueden configurar o deshabilitar con el comando chattr:
- A set :El registro atime no actualizado.
- S set :Los cambios se actualizan sincrónicamente en el disco.
- un set :El archivo solo se puede_abrir en modo de adición para escritura.
- yo set :el archivo no se puede modificar (inmutable), el único superusuario puede desarmar el atributo.
- j set:toda la información de los archivos se actualiza en el diario ext3 antes de actualizarse en el archivo en sí.
- t set :No se permite fusionar colas.
- d establecer:No más candidatos para la copia de seguridad cuando el proceso de volcado.
- u set :cuando se elimina un archivo de este tipo, sus datos se guardan, lo que permite al usuario solicitar su eliminación.
Entonces, a continuación se muestran las diferentes opciones del comando chattr:
- -R :se utiliza para mostrar los atributos de la lista de directorios y sus contenidos de forma recursiva.
- -V :Mostrará la versión del programa.
- -a :Se utiliza para enumerar todos los archivos de un directorio que también incluye el cuyo nombre comienza con un punto ('.').
- -d :esta opción enumerará los directorios como archivos normales en lugar de enumerar su contenido.
- -v :se usa para mostrar la versión del archivo/número de generación, etc.
Uso de conversación
chattr [OPERATOR][Flags] FILE
Utilice el atributo 'i' para hacer que un archivo sea inmutable
El comando "chattr" utilizado para hacer que los archivos sean inmutables. Inmutable significa que el archivo no se puede mover, renombrar ni eliminar.
Aquí le daremos la bandera 'i' a un archivo llamado "unixcop.txt" como ejemplo:
[qadry@unixcop ~]# chattr +i unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
----i--------------- ./unixcop.txt
[qadry@unixcop ~]#
Puede usar el “lsattr” para comprobar los atributos del archivo.
Como puede ver en la captura de pantalla anterior, se ha establecido el atributo 'i' y el archivo se ha vuelto inmutable.
El atributo 'i' también se puede usar para hacer que los directorios sean inmutables.
Eliminar el atributo 'i' del archivo
Una vez que se ha establecido el atributo 'i', el archivo solo puede cambiarse o eliminarse una vez que el usuario raíz elimine el atributo. Utilice el operador '-' con la opción de eliminar el atributo:
[qadry@unixcop ~]# chattr -i unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
-------------------- ./unixcop.txt
[qadry@unixcop ~]#
use el atributo 'a' para abrir el archivo en modo de adición
Podemos usar el atributo 'a' para abrir el archivo en el modo de adición. En el modo de agregar, los usuarios solo pueden agregar datos en un archivo sin cambiar los datos que ya están presentes en el archivo.
[qadry@unixcop ~]# chattr +a unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
-----a-------------- ./unixcop.txt
[qadry@unixcop ~]#
Como puede ver en la captura de pantalla a continuación, cuando intento agregar más datos en el archivo de texto usando el comando echo, el terminal me da un error:
[qadry@unixcop ~]# echo "Hello Unixcop" > unixcop.txt
-bash: unixcop.txt: Operation not permitted
[qadry@unixcop ~]#
Podemos agregar datos al archivo usando el operador ">>" en lugar de ">":
[qadry@unixcop ~]# echo "Hello Unixcop" >> unixcop.txt
[qadry@unixcop ~]# cat unixcop.txt
Hello Unixcop
[qadry@unixcop ~]#
Hacer directorios seguros
La bandera +i’ puede_ser utilizada para un directorio (como se muestra a continuación) para hacer que el directorio sea inmutable. Además, aquí se usa la marca -R’, lo que hace que la llamada sea recursiva y todos los subarchivos y directorios también se vuelven inmutables.
[qadry@unixcop ~]# chattr -R +i temp/
[qadry@unixcop ~]# rm -rf temp/
rm: cannot remove 'temp/': Operation not permitted
[qadry@unixcop ~]# lsattr -R temp/
-----i--------e------ temp/unixcop_file.txt
[qadry@unixcop ~]# chattr -R -i temp/
[qadry@unixcop ~]# lsattr -R temp/
--------------e------ temp/unixcop_file.txt
[qadry@unixcop ~]#
Agregue el atributo 'j' para actualizar los datos del archivo al diario ext3
Al usar el atributo 'j', los datos del atributo de archivos se actualizarán en el diario ext3 antes que el archivo en sí:
[qadry@unixcop ~]# chattr +j unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
-----j-------------- ./unixcop.txt
[qadry@unixcop ~]#
Conclusión
El comando “chattr” es una herramienta muy útil para los administradores. Les permite modificar los permisos de archivo, lo que ayuda en la protección de archivos importantes y evita que se alteren.