Noticia chattr: La máxima protección a archivos/carpetas en Linux mediante atributos o flags

Bueno… no todo pueden ser juegos, no es mi intención solo publicar posts hablando de juegos ;) … yo no soy un usuario que juegue mucho, en casa eso se lo dejo a mi novia (que ahora está enganchada a los Sims 4), es por eso que me motiva más publicar artículos más técnicos, sobre comados o tips en terminal.

En Linux tenemos unos permisos que ciertamente resuelven casi cualquier problema, podemos determinar qué usuario o grupo de usuarios tienen acceso a determinado recurso, carpeta, servicio. No obstante, hay ocasiones en que los permisos no son exactamente lo que necesitamos, pues hay situaciones en que deseamos que ni siquiera root pueda hacer determinada acción.

Supongamos que tenemos una carpeta o archivo que no deseamos que se borre, vamos… ni por nuestro usuario, ni por otro en el ordenador (ehm… mi novia por ejemplo jaja), o bien, que ni siquiera root pueda borrarlo, ¿cómo lograr esto? … los permisos no nos servirán pues root es the-fucking-master, él podrá borrar cualquier cosa, entonces, ahí es donde entran los atributos de archivos o carpetas.

chattr +i


Supongamos que deseamos proteger un archivo para que no pueda ser borrado, el mismo es: passwords.txt ,su ubicación es (por ejemplo) $HOME/passwords.txt

Para establecerle un atributo de solo lectura (o sea, no modificación y no borrado) sería:

sudo chattr +i $HOME/passwords.txt

Como ven necesitamos permisos de administración para el parámetro +i, que dicho sea de paso, +i significa que el archivo será inmutable, ya saben, no se podrá eliminar, no podrá cambiar en ningún sentido.

Luego, pueden intentar eliminar el archivo, inclusive usando sudo… verán que no podrán, aquí les dejo un screenshot:



Para listar o ver los atributos que tenga un archivo podemos usar el comando lsattr, por ejemplo:

lsattr passwords.txt

Luego, para quitarle la protección en vez de usar +i usamos -i y listo ;)

chattr +a


Como acabamos de ver el parámetro +i nos permite protegerlo por completo, pero han habido ocasiones en que necesito que determinado archivo pueda ser modificado, PERO sin alterar su contenido original. Por ejemplo, tengo un listado y deseo que se puedan agregar nuevas líneas e información mediante echo, pero sin alterar las anteriores, para ello:

sudo chattr +a $HOME/passwords.txt

Una vez hecho esto, intentemos escribir algo nuevo en el archivo:

echo "Prueba" > $HOME/passwords.txt

Notarán que les aparece un error … sin embargo, si agregamos contenido en vez de reemplazar (usando >> y no>) :

echo "Prueba" >> $HOME/passwords.txt

Aquí sí que podemos.

Fin!


Sé que alguien conocedor cuando vea que ni siquiera con root puede eliminar/modificar un archivo podría revisar sus atributos… pero, eh! … ¿cuántas veces que notas algo así te detienes a pensar en atributos? … lo digo porque generalmente pensamos simplemente que el HDD o el sector del mismo está corrupto, o que el sistema simplemente enloqueció :D

Bueno no hay mucho más que agregar… creo que usaré esto del +i para detener la descarga de algo que mi novia esté bajando… ¬_¬ … ehm … ¿no que ella quería descargar Sims 4 gratis? … creo que le enseñaré una cosa o dos sobre licencias y que no deben ser violadas :D

Saludos!

The post chattr: La máxima protección a archivos/carpetas en Linux mediante atributos o flags appeared first on Desde Linux.


iWLxUnrifYg


Continúar leyendo...