Tutorial

Cómo proteger el borrado accidental de archivos en Linux

Algunas veces, accidentalmente usamos «SHIFT + DELETE» ¿Cual es el resultado? ¡Pérdida total de los datos!. Si, probablemente algunas veces somos muy descuidados y no revisamos las cosas dos veces antes de borrarlas. Pero, te has preguntado si ¿Existe algún método para protegernos del borrado accidental de archivos en Linux? Pues te tengo buenas noticias. Hay un par de herramientas sencillas, de las que les voy a contar hoy. Básicamente, son dos comandos simples, pero de seguro les serán muy útiles.

Métodos para evitar el borrado accidental de archivos

El primero de ellos es «chattr» (por la abreviatura de Ch ange Attr ibute), que se puede utilizar para evitar la modificación o borrado accidental de archivos y/o las carpetas en las distribuciones de Unix. Funciona aplicando o eliminando ciertos atributos a un archivo o carpeta en su sistema Linux. Por lo tanto, los usuarios no pueden eliminar ni modificar los archivos o las carpetas, ya sea accidental o intencionalmente, incluso como usuario root. Suena útil, ¿no?.

El segundo método que tenemos para prevenir el borrado accidental de archivos es rm-protection. A diferencia de chattr, rm-protection te pedirá que respondas una pregunta para eliminar los archivos protegidos. Si no proporcionas la respuesta correcta a la pregunta, entonces no podrán ser eliminados los archivos.

A continuación veremos como instalar y configurar cada uno de estos comandos en nuestro sistema operativo Linux.

Chattr

Por defecto, Chattr está disponible en la mayoría de los sistemas operativos Linux modernos. Veamos algunos ejemplos. La sintaxis por defecto del comando chattr es:

[code] chattr [operador] [switch] [nombrearchivo] [/code]

chattr tiene los siguientes operadores:

  • Primer operador ‘+’: hace que los atributos seleccionados se agreguen a los atributos existentes de los archivos.
  • Segundo operador ‘-‘: hace que se eliminen.
  • Tercer operador ‘=’: hace que sean los únicos atributos que tienen los archivos.

También tiene diferentes atributos, a saber, aAcCdDeijsStTu. Donde cada letra aplica atributos particulares a un archivo.

  • a – solo agregar,
  • A – no hay actualizaciones,
  • c – comprimido,
  • C – no hay copia en escritura,
  • d – sin vertedero,
  • D – actualizaciones de directorio síncronas
  • e – formato de extensión,
  • i – inmutable,
  • j – diario de datos,
  • P – jerarquía del proyecto,
  • s – eliminación segura,
  • S – actualizaciones sincrónicas,
  • t – sin fusión de cola,
  • T – arriba de la jerarquía del directorio,
  • u – no recuperable

Para efectos de este tutorial, vamos a analizar el uso de dos atributos, a saber , a , i que son los necesarios para evitar el borrado accidental de archivos y carpetas en Linux.

Atributo i

Supongamos que tengo creado un archivo llamado file.txt en mi directorio actual. Sobre el vamos a aplicar el atributo «i» que hace que el archivo sea inmutable. Significa que no puede eliminar o modificar el archivo, incluso así seamos el usuario root o el propietario del archivo y el usuario raíz.

[code] sudo chattr + i file.txt [/code]

Podemos verificar las nuevas propiedades del archivo usando lo siguiente:

[code] lsattr file.txt [/code]

Lo cual deberia proveernor una salida similar a:

[code] —- i ——— e —- file.txt [/code]

Para revocar estas propiedades, simplemente usamos el interruptor «-i» como se muestra a continuación:

[code] sudo chattr -i file.txt [/code]

Del mismo modo, el atributo i podemos usarlo para restringir también los directorios y protegerlos de un borrado accidental de archivos.

[code]sudo chattr -R + i directorio [/code]

Dónde,

-R – hará que el directorio y su contenido sean inmutables recursivamente.
+ i – hará que el directorio sea inmutable.

Atributo a

Ya sabemos cómo evitar el borrado accidental de archivos y carpetas. A continuación, evitaremos que los archivos y las carpetas se eliminen, pero que permitan su edición solo en modo de adición. Eso significa que no puede editar, modificar los datos existentes en el archivo, cambiar el nombre del archivo o eliminarlo. Pero si se podrá abrir el archivo para escribir en el modo de agregar.

La forma de establecer la atribución de modo de agregar a un archivo / directorio, es la siguiente:

Para archivos:

[code]sudo chattr + a file.txt [/code]

Para directorios:

[code] sudo chattr -R + a dir1 [/code]

Rm-protection

Hablemos ahora de rm-protection y como nos puede ayudar a prevenir el borrado accidental de archivos en Linux.

Instalación

Primero que nada, debemos instalarlo. La forma oficial de instalar rm-protection es usar pip, el administrador de paquetes python.

Para instalar PIP en Arch Linux y sus derivados, ejecutamos lo siguiente:

[code] sudo pacman -S python-pip [/code]

En RHEL, Fedora, CentOS:

[code] sudo yum install epel-release

sudo yum install python-pip [/code]

O,

[code] sudo dnf install epel-release

sudo dnf install python-pip [/code]

Finalmente para Debian, Ubuntu o Linux Mint usamos:

[code] sudo apt-get install python-pip [/code]

Una vez que tengamos instalado PIP, ejecute el siguiente comando para instalar ‘rm-protection’ .

[code] sudo pip install rm-protection [/code]

Funcionamiento

rm-protection funciona exactamente igual que el comando ‘rm’. El comando rm se usa para eliminar archivos y cuando se usa recursivamente, se puede usar para borrar directorios.

La única diferencia de rm-protection con rm, es que te pedirá que respondas una pregunta. Consiste en dos utilidades a saber, rm-p y protect . Aquí, ‘rm-p’ eliminará los archivos y la utilidad ‘protect’ protegerá los archivos de la eliminación accidental o intencional. Permíteme explicarte con algunos ejemplos.

En primer lugar, cree un alias para las utilidades ‘rm-p’ y ‘protect’ para mayor comodidad. Esto es opcional, si no crea un alias, debes escribir rm-p cada vez que desees eliminar un archivo.

[code] alias rm = "rm-p" [/code] [code] alias protect = "protect" [/code]

Digamos que tenemos un archivo importante llamado file.txt

Para proteger este archivo, usamos:

[code] protect ostechnix.txt [/code]

Te solicitara una pregunta y su respuesta para proteger el archivo anterior.

[code] Pregunta para /home/yerita/ostechnix.txt: ¿Te encanta Linux?

Respuesta: Sí, me encanta [/code]

Ahora, el archivo file.txt está protegido. La pregunta y la respuesta para este archivo se guardan en el archivo .file.txt.rm-protection en el directorio actual. Necesitarás la respuesta cuando quieras eliminar el archivo.

Tan simple como lo ven. Además, puede proteger todos los archivos dentro de una carpeta usando el indicador -R.

Digamos, por ejemplo, que queremos proteger todos los archivos dentro de un directorio ‘directorio’, usamos el comando como se muestra a continuación.

[code] protect -R directorio/ [/code]

Te solicitara de igual manera una pregunta y respuesta.

Limitaciones

Cada aplicación tiene algunas limitaciones y desventajas. En rm-protection es una utilidad sensible a mayúsculas y minúsculas. Por lo tanto, debes usar el modo correcto mientras proporcionas la respuesta.

Además, hay que tener mucho cuidado al usar la utilidad para proteger los archivos. Tengamos en cuenta que rm-protection no es un programa de seguridad. Si alguien conoce la respuesta o tiene acceso al archivo (.file.txt.rm-protection), sabrá la respuesta y eliminará fácilmente el archivo. Por lo tanto, no confundamos esta utilidad con seguridad. No protegerá los archivos, sino que evitará un borrado accidental de archivos.

Te recomendamos la lectura:  Ubuntu: Guía completa de iniciación

rm-protection protegerá solo los archivos / carpetas del usuario normal. El usuario root aún podrá eliminar los archivos protegidos. Si alguien conoce la contraseña de root, entonces los archivos están en riesgo.

Y hasta aquí llega nuestro tutorial. ¿Te pareció útil? ¡Compártelo!. ¿Quieres agregar algo más? Te invitamos a ¡dejarlo en los comentarios!

Yeraldine

Lcda. en Computación, Programadora, Apasionada por el Desarrollo Web. A veces Bellydancer, otras veces Yogui. Amo viajar, los libros y la música. En mis RRSS: @yerita02

Publicaciones relacionadas

Un comentario

  1. Hola, probé el método «protect -R directorio/» y pude eliminar el fichero con el administrador de archivos haciendo click derecho y entrando a propiedades.
    Luego cambié las propiedades a «sólo lectura»
    y ahora no tengo acceso a la carpeta.
    Revisé los permisos con el comando ls-l en el terminal
    y la aparecen los siguientes permisos d-w-rwxr-x 6 (no puede leer, ni ejecutar cómo dueño)
    Estaba aplicando esta protección al ser carpeta de una tésis, y ahora no sé cómo volver a dar los permisos :/
    (Nunca me hizo la pregunta si quería eliminar los ficheros)
    Espero se entienda. Saludos

Deja una respuesta

Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected].

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

Acepto la política de privacidad *

Botón volver arriba