GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo evitar la modificación, eliminación y cambio de nombre de archivos/directorios en Linux?

Si está buscando evitar que cualquier archivo se modifique, elimine o cambie de nombre, deberá configurar el indicador inmutable en él. Se puede configurar en archivos o directorios. Una vez que se agrega la bandera inmutable, los archivos/carpetas no se pueden modificar ni eliminar. Si ha agregado un indicador inmutable y desea realizar cambios en sus archivos, deberá eliminar el indicador inmutable. Es un atributo del sistema de archivos extendido.

Consulte los siguientes pasos para configurar el indicador inmutable. Deberá iniciar sesión con root para establecer el indicador inmutable.

  1. Primero, crearemos un archivo llamado test.txt con el siguiente comando.

    # touch test.txt
    
  2. Utilice el comando lsattr para verificar el atributo extendido. De forma predeterminada, solo aparece 'e'.

    # lsattr test.txt
    
  3. Agregaremos algo de contenido en test.txt y debería funcionar bien, ya que aún no hemos realizado ningún cambio.

    # echo This is a test of immutable flage >> test.txt
    # cat test.txt
  4. Utilicemos el comando chattr para establecer el indicador +i. Aquí me refiero a inmutable.

    # sudo chattr +i test.txt
  5. Ahora usaremos el siguiente comando para verificar el inmutable para el archivo test.txt

    # lsattr test.txt
    

Salida :

----i---------e---- test.txt
  1. Según el resultado anterior, test.txt ahora es inmutable. Intentaremos modificar o eliminar el mismo archivo.

    # echo test-modification >> test.txt
    -bash: test.txt: Permission denied
    # rm -f test.txt
    rm: cannot remove ‘test.txt’: Operation not permitted
    #  mv test.txt test2.txt
    mv: cannot move ‘test.txt’ to ‘test2.txt’: Operation not permitted

    Según el error anterior, podemos ver que el archivo no se ha podido modificar ni eliminar, ya que hemos establecido el indicador inmutable en él. Tenga en cuenta que si establece inmutable en cualquiera de las carpetas, establecerá el indicador inmutable para archivos/carpetas completos dentro de la misma carpeta.

  2. Si desea realizar cambios en el mismo archivo, deberá eliminar el inmutable. El siguiente comando eliminará el indicador inmutable de cualquiera de los archivos.
    # chattr -i test.txt
  3. Verificaremos que la marca inmutable no se elimine.

    # lsattr test.txt
    

Salida:

-------------e-- test.txt

Ahora, puede modificar o eliminar el archivo sin ningún problema.


Linux
  1. Cómo instalar y probar Ansible en Linux

  2. Cómo prevenir y recuperarse de la eliminación accidental de archivos en Linux

  3. Cómo redirigir la salida a un archivo y salida estándar en Linux

  4. Cómo administrar permisos/propiedades de archivos y directorios en Linux

  5. Un comando para crear un directorio y un archivo dentro de él comando de Linux

Cómo montar y desmontar sistemas de archivos en Linux

Cómo copiar archivos y directorios en Linux

Cómo usar operadores de prueba de archivos Bash en Linux

Archivo host de Linux:¿Cómo editarlo y usarlo?

Evite la eliminación o modificación accidental de archivos y carpetas en Linux

Cómo trabajar con enlaces duros y suaves en Linux