De los errores se aprende… comandos chattr y lsattr

.

Si en otro post comentaba como se puede borrar eficaz y definitivamente un fichero con el comando shred, hoy propongo exactamente lo contrario. Un comando para evitar borrar accidentalmente ficheros o directorios con el comando chattr. ¿Os hacéis una idea de por que escribo sobre chattr? … Si, fuí yo … borré accidentalmente unos documentos del trabajo muy importantes, por eso, no está de más compartir soluciones para estos contratiempos.

# A partir de este punto en adelante, expondré los ejemplos sobre el fichero documento_importante.txt (puede ser cualquier fichero, .pdf, .odt, ficheros de audio, vídeo, imagen, etc…).

El comando chattr se utiliza para cambiar los atributos de un fichero o directorio. ¿Cómo podemos ver los atributos de los ficheros o directorios? Lanzando el comando lsattr -v, que nos lista los atributos de un fichero:

2

 

Se observa que el fichero no tiene atributos (aparte del “e” que es propio del sistema de ficheros de linux para el mapeo de los bloques en el disco y no se puede modificar).

Como chattr es un comando de administración, sólo el usuario Root puede cambiar los atributos de un fichero.
Una vez pasados los argumentos de chattr a un fichero, este no se podrá modificar o borrar, ni con un comando rm -f (incluson con recursiva), ni con shred, ni aunque el mismo Root lo intente borrar o manipular.
El fichero en cuestión permanecerá inmutable. Sólo cuando el usuario Root cambie de nuevo los atributos del fichero otra vez, se podrá borrar o manipular.
Esto es importante, ya que se utiliza para restringir que los usuarios modifiquen un fichero de forma particular.
El comando chattr sólo se habilita/deshabilita en modo Root y en su ejecución se compone de:

# chattr [un operador + -] [un atributo] [fichero]

– El operador + – habilita o deshabilita los atributos al fichero.
– Los atributos son características de modificación del fichero.

Después de leer el man de chattr, de entre todos los atributos, destaco 2 para hacer unos ejemplos (sobre el fichero documento_importante.txt):

1. EL FICHERO NO SE PUEDE BORRAR,  PERO SE PUEDE EDITAR:

– Atribuir el operador +a. A un fichero para permitir a los usuarios (esto incluye al root) a que puedan añadir datos, sin cambiar los que ya están escritos. y que no pueda ser borrado:

3

 

– Los atributos del fichero han cambiado, no se puede borrar, sólo agregar datos:

4

 

 

– Para devolver el fichero al estado original y poder modificarlo o borrarlo le atribuimos el operador a:

6

– Los atributos del fichero han cambiado, se puede editar y borrar.

 

2. EL FICHERO NI SE PUEDE BORRAR NI SE PUEDE EDITAR:

– Atribuir el operador +i.  A un fichero para no permitir a los usuarios (ni siquiera al root) editar, modificar, renombrar o borrarlo:

7

– Los los atributos del fichero han cambiado, el documento es inmutable:

8

 

-Para devolver el fichero al estado original y poder modificar o borrarlo le atribuimos el operador -i:

9

– Los atributos del fichero han cambiado, se puede modificar o borrar.

Con estos sencillos comandos se pueden mantener a salvo los ficheros importantes, nuestros o de otros usuarios. Cuidarnos accidentalmente de eliminarlos, o simplemente que sean manipulados.

Deja un comentario

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