5 comandos 'chattr' para hacer que los archivos importantes sean inmutables (inmutables) en Linux
- 3699
- 637
- Mateo Pantoja
chattr (Cambiar el atributo) es una utilidad de línea de comando Linux que se utiliza para establecer/no establecer ciertos atributos a un archivo en el sistema Linux para asegurar la eliminación o modificación accidental de archivos y carpetas importantes, a pesar de que ha iniciado sesión como usuario raíz.
En los sistemas de archivos nativos de Linux I.mi. ext2, ext3, ext4, btrfs, etc. admite todas las banderas, aunque todas las banderas no admitirán a todos los FS no nativos. No se puede eliminar o modificar el archivo/carpeta una vez que los atributos se establecen con el comando chattr, a pesar de que tiene permisos completos en él.
5 ejemplos de comando chattrEsto es muy útil para establecer atributos en archivos del sistema como los archivos PASSWD y SHADOW en los que contiene la información del usuario.
Sintaxis de chattr
# chattr [operador] [banderas] [nombre de archivo]
Atributos y banderas
Los siguientes son la lista de atributos comunes y las banderas asociadas se pueden configurar/no establecer utilizando el comando chattr.
- Si se accede a un archivo con 'A'Conjunto de atributos, su registro de atime no se actualiza.
- Si un archivo se modifica con 'S'Conjunto de atributos, los cambios son actualizaciones sincrónicamente en el disco.
- Un archivo está configurado con 'a'El atributo solo puede estar abierto en modo de anexo para escribir.
- Un archivo está configurado con 'i'atributo, no se puede modificar (inmutable). Significa que no hay renombro, sin creación de enlaces simbólicos, sin ejecución, sin escritura, solo el superusador puede desanimar el atributo.
- Un archivo con el 'j'El atributo está establecido, toda su información actualizada en el EXT3 Journal antes de actualizarse al archivo en sí.
- Un archivo está configurado con 'T'Atributo, sin fortalecer la cola.
- Un archivo con el atributo 'd', no más candidato para la copia de seguridad cuando se ejecute el proceso de volcado.
- Cuando un archivo tiene 'u'El atributo se elimina, sus datos se guardan. Esto permite al usuario solicitar su Undeletion.
Operador
- + : Agrega el atributo al atributo existente de los archivos.
- - : Elimina el atributo al atributo existente de los archivos.
- = : Mantenga los atributos existentes que tienen los archivos.
Aquí, vamos a demostrar algunos de los ejemplos de comando de chattr para establecer/no se establecen atributos a un archivo y carpetas.
1. Cómo agregar atributos en los archivos para asegurar la eliminación
Para fines de demostración, hemos usado una carpeta manifestación y archivo IMPORTANTE_FILE.confusión respectivamente. Antes de configurar los atributos, asegúrese de verificar que los archivos existentes tengan algún atributo establecido usando el comando 'LS -L'. ¿Vio los resultados, actualmente no se establecen ningún atributo?.
[[correo electrónico protegido] TecMint]# LS -L Total 0 DRWXR-XR-X. 2 raíz raíz 6 de agosto 31 18:02 demo -rwxrwxrwx. 1 raíz raíz 0 31 de agosto 17:42 IMPORTANTE_FILE.confusión
Para establecer el atributo, usamos el + firmar y para usar el uso de la - firmar con el comando chattr. Entonces, establezcamos un bit inmutable en los archivos con +i banderas para evitar que cualquier persona elimine un archivo, incluso un usuario root no tiene permiso para eliminarlo.
[[Correo electrónico protegido] TecMint]# chattr +i demostración/ [[correo electrónico protegido] tecmint]# chattr +i importante_file.confusión
Nota: El bit inmutable +i solo puede ser establecido por Superuser (yo.e root) usuario o un usuario con privilegios de sudo puede establecer.
Después de establecer un bit inmutable, verifiquemos el atributo con el comando 'lsattr'.
[[correo electrónico protegido] TecMint]# lsattr ---- i----------- ./demo ---- i----------- ./IMPORTANTE_FILE.confusión
Ahora, intenté eliminar con fuerza, cambiar el nombre o cambiar los permisos, pero no se permitirá decir ""operación no permitida".
[[Correo electrónico protegido] TecMint]# RM -RF Demo/ RM: No se puede eliminar âDemo/ â: Operación no permitida
[[Correo electrónico protegido] TecMint]# MV demo/ demo_alter MV: no se puede mover âdemo/ â a âdemo_alter: no se permite la operación
[[correo electrónico protegido] TecMint]# CHMOD 755 IMPORTANTE_FILE.Conf Chmod: Cambio de permisos de âimportant_file.Confâ: operación no permitida
2. Cómo desastar el atributo en los archivos
En el ejemplo anterior, hemos visto cómo establecer el atributo para asegurar y evitar que los archivos de una eliminación accidental, aquí, en este ejemplo, veremos cómo restablecer los permisos (atributos no establecidos) y permite hacer que un archivo sea cambiante o alterable usando -i bandera.
[[Correo electrónico protegido] TecMint]# chattr -i demo/ importante_file.confusión
Después de restablecer los permisos, verifique el estado inmutable de los archivos utilizando 'lsattr' dominio.
[[correo electrónico protegido] tecMint]# lsattr ---------------- ./manifestación ---------------- ./IMPORTANTE_FILE.confusión
Ves en los resultados anteriores que el '-i'Bandera eliminada, eso significa que puede eliminar de manera segura todo el archivo y la carpeta residen en la carpeta Tecmint.
[[Correo electrónico protegido] TecMint]# RM -RF * [[Correo electrónico protegido] TecMint]# LS -L Total 0
3. Cómo asegurar /etc /passwd y /etc /shadow archivos
Configuración del atributo inmutable en archivos /etc/passwd o /etc/sombra, los hace seguros de una extracción o manipulación accidental y también deshabilitará la creación de la cuenta del usuario.
[[Correo electrónico protegido] TecMint]# chattr +i /etc /passwd [[correo electrónico protegido] tecMint]# chattr +i /etc /shadow
Ahora intente crear un nuevo usuario del sistema, recibirá un mensaje de error que dice 'No se puede abrir /etc /passwd'.
[[correo electrónico protegido] TecMint]# UserAdd TecMint UserAdd: No se puede abrir /etc /passwd
De esta manera, puede establecer permisos inmutables en sus archivos importantes o archivos de configuración del sistema para evitar la eliminación.
4. Agregar datos sin modificar los datos existentes en un archivo
Supongamos que solo desea permitir que todos muestren datos en un archivo sin cambiar o modificar los datos ya ingresados, puede usar el 'a'Atributo de la siguiente manera.
[[correo electrónico protegido] TecMint]# chattr +un ejemplo.txt [[correo electrónico protegido] tecMint]# lsattr ejemplo.txt ----- un ---------- Ejemplo.TXT
Después de configurar el modo de anexo, el archivo se puede abrir para escribir datos solo en modo de anexo. Puede desastar el atributo de anexo de la siguiente manera.
[[Correo electrónico protegido] TecMint]# chattr -Un ejemplo.TXT
Ahora intente reemplazar el contenido ya existente en un archivo ejemplo.TXT, recibirás un error al decir 'operación no permitida'.
[[correo electrónico protegido] tecMint]# echo "reemplazar contener en el archivo."> Ejemplo.txt -bash: ejemplo.txt: operación no permitida
Ahora intente agregar un nuevo contenido en un archivo existente ejemplo.TXT y verificarlo.
[[correo electrónico protegido] tecMint]# echo "reemplazar contener en el archivo.">> Ejemplo.TXT
[[correo electrónico protegido] TecMint]# Ejemplo de gato.txt aquí es el ejemplo para probar el atributo 'a' significa solo agregar. reemplazar contener en el archivo.
5. Cómo asegurar directorios
Para asegurar todo el directorio y sus archivos, usamos '-Riñonal'(recursivamente) cambia con'+i'Bandera junto con el camino completo de la carpeta.
[[correo electrónico protegido] TecMint]# chattr -r +i myfolder
Después de configurar el atributo recursivamente, intente eliminar la carpeta y sus archivos.
[[correo electrónico protegido] tecMint]# rm -rf myfolder/ rm: no puede eliminar 'myfolder/': operación no permitida
Para un permiso anobno, usamos el mismo interruptor '-r' (recursivamente) con la bandera '-i' junto con la ruta completa de la carpeta.
[[correo electrónico protegido] tecMint]# chattr -r -i myfolder
Eso es todo! Para saber más sobre los atributos del comando chattr, las banderas y las opciones usan las páginas del hombre.
- « Administrar múltiples discos de gestión de volumen lógico utilizando E/S de rayas
- Instalación de la red de Debian 7 (Wheezy) en máquinas cliente utilizando DNSMASQ Network Boot Server »