Categorías: Tutoriales

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:

 

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:

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

– 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:

 

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

 

 

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

– 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:

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

 

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

– 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.

mcanchal

Trabajo en Oliran magevais, una empresa del sector de las energías renovables. No practicante de la iglesia de Emacs.

Ver comentarios

  • Tantos años usando Linux y me has traído un artículo que me ha hecho comprender ciertas cosas que no entendía y que alguna vez me pasaban. Los atributos de los ficheros son muchos más que el d y los rwx y con artículos como este me explico muchas cosas.

    Gracias por aportar esta información tan valiosa :)

  • Excelentísimo artículo, a mí también me ha permitido conocer algo que me puede ser muy útil. Muchas gracias de nuevo.

Entradas recientes

Nueva versión de OnlyOffice Docs

Desde el equipo de ONLYOFFICE se han puesto en contacto con nosotros para contarnos que…

2 semanas hace

EOF

2 meses hace

CERN

2 meses hace

Agua

2 meses hace

Aire acondicionado

2 meses hace

Eclipse

2 meses hace