Ejemplos de comandos lsattr y chattr en Linux

Hay ciertos atributos de control que se pueden configurar en un archivo o directorio para permitir que se agreguen datos, para evitar que se cambien o eliminen, etc. Por ejemplo, puede habilitar atributos en un archivo o directorio crítico del sistema para que ningún usuario, incluido el root, puede eliminarlo o cambiarlo, no permitir que una utilidad de copia de seguridad, como el comando de volcado, haga una copia de seguridad de un archivo o directorio específico, etc. Estos atributos solo se pueden configurar en archivos y directorios ubicados en un sistema de archivos ext2, ext3 o ext4

Hay dos comandos lsattr y charlar que se utilizan para la gestión de atributos. La siguiente es la lista de atributos comúnmente utilizados

Atributos

Descripción

un (añadir)

La operación de agregar está permitida en el archivo

A

Este atributo no permitirá actualizar el tiempo de acceso de un archivo

c (comprimido)

Cuando este atributo está habilitado, el archivo se comprime en el disco automáticamente

d (vertedero)

No se puede hacer una copia de seguridad del archivo con el comando de volcado.

D

Cuando el atributo D se establece en el directorio, los cambios se almacenan sincrónicamente en el disco

e (formato de extensión)

Muestra que el archivo está usando extensiones para mapear los bloques en el disco

yo (inmutable)

Cuando este atributo está habilitado en el archivo, no se puede modificar, renombrar ni eliminar el archivo.

j (diario)

Cuando se establece este atributo, los datos del archivo se almacenan primero en el diario y luego se escriben en el archivo.

S (sincrónico)

Cuando se establece este atributo, los cambios o modificaciones se almacenan sincrónicamente en el disco.

Diferente Opciones que se puede usar en el comando chattr:

  • -R cambiar los atributos del directorio y sus subdirectorios recursivamente
  • -V Salida detallada del comando chattr junto con la versión.
  • -F Suprime la mayoría de los mensajes de error.

Operadores que se utilizan en el comando chattr para establecer y desactivar atributos

  • El signo ‘+’ se usa para establecer atributos en los archivos y directorios,
  • El signo ‘-‘ se usa para eliminar o desactivar el atributo
  • El signo ‘=’ hace que sean los únicos atributos que tienen los archivos.

Sintaxis básica de charlar y lsattr comando:

# chattr

# lsattr

Ejemplo:1 Hacer un archivo inmutable usando el atributo ‘i’

[[email protected] ~]# chattr +i dummy_data
[[email protected] ~]# lsattr dummy_data
----i----------- dummy_data

Ahora intente eliminar y editar el archivo

[[email protected] ~]# rm -f dummy_data
rm: cannot remove ‘dummy_data’: Operation not permitted

[[email protected] ~]# echo "test" >> dummy_data
-bash: dummy_data: Permission denied

Ejemplo:2 Eliminar el atributo inmutable

[[email protected] ~]# chattr -i dummy_data
[[email protected] ~]# lsattr dummy_data
---------------- dummy_data

Ejemplo: 3 Para permitir solo operaciones de adición en el archivo

[[email protected] ~]# chattr +a dummy_data
[[email protected] ~]# lsattr dummy_data
-----a---------- dummy_data

Ahora intente agregar el contenido del archivo fstab en el archivo dummy_data

[[email protected] ~]# cat /etc/fstab >> dummy_data
[[email protected] ~]#

Ejemplo:4 Secure Directory y sus subdirectorios usando la opción -R y el atributo ‘+i’.

Vamos a crear un directorio sysadmin y sus subdirectorios

[[email protected] ~]# mkdir sysadmin
[[email protected] ~]# mkdir sysadmin/admim_{1,2,3,4,5}
[[email protected] ~]# ls -l sysadmin/
total 0
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_1
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_2
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_3
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_4
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_5

Establecer atributo inmutable recursivamente en el directorio sysadmin

[[email protected] ~]# chattr -R +i sysadmin

[[email protected] ~]# lsattr -R sysadmin/
----i----------- sysadmin/admim_1
sysadmin/admim_1:
----i----------- sysadmin/admim_2
sysadmin/admim_2:
----i----------- sysadmin/admim_3
sysadmin/admim_3:
----i----------- sysadmin/admim_4
sysadmin/admim_4:
----i----------- sysadmin/admim_5
sysadmin/admim_5:
[[email protected] ~]#

Ahora intente eliminar directorios usando el comando rm

[[email protected] ~]# rm -rf sysadmin
rm: cannot remove ‘sysadmin/admim_1’: Permission denied
rm: cannot remove ‘sysadmin/admim_2’: Permission denied
rm: cannot remove ‘sysadmin/admim_3’: Permission denied
rm: cannot remove ‘sysadmin/admim_4’: Permission denied
rm: cannot remove ‘sysadmin/admim_5’: Permission denied
[[email protected] ~]#

Para desarmar los atributos recursivamente use el siguiente comando

[[email protected] ~]# chattr -R -i sysadmin

Entradas relacionadas

Deja una respuesta

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