Hace 4 años

Proteger una carpeta contra borrado en Linux

Estuve buscando la manera de proteger una carpeta contra el borrado aún siendo root, pero con la posibilidad de poder seguir escribiendo y borrando archivos dentro de las carpetas de manera normal.

Tengo una carpeta dónde guardo mi música, vídeos, documentos, y todo lo que quiero conservar. Lo hago por dos motivos una para tenerlo todo centralizado y otra para cuando hago una copia de seguridad, solo tengo que hacerlo de esta carpeta. El motivo de querer protegerla contra el borrado es para tener la seguridad de que en un descuido no me quede sin el trabajo de años.

En primer lugar se me ocurrió cambiarle los permisos, pero después me muchas pruebas, si conseguía que no se borrase no podía escribir en ella, y si podía escribir en ella, la podía borrar. Por lo tanto tenía que buscar otra solución.

El comando chattr se utiliza para cambiar los atributos de los sistemas de ficheros ext2, ext3 y ext4. El atributo a es el que nos va a permitir proteger o desproteger una carpeta o archivo contra el borrado, aunque seamos root. Protegiendo solo la carpeta, los archivos podremos guardarlos y borrarlos de manera normal. Con el comando lsattr podemos visualizar todos los atributos que tiene cada carpeta o archivo y que se pueden modificar con chattr.

sudo chattr +a Carpeta-a-Proteger
sudo chattr -a Carpeta-a-Desproteger

lsattr

————-e– ./Descargas
————-e– ./Documentos
————-e– ./Escritorio
————-e– ./Imágenes
————-e– ./Música
————-e– ./Plantillas
————-e– ./Público
—–a——-e– ./Carpeta-Protegida-contra-borrado

También se puede dar el caso de que quieras proteger algún archivo o incluso una carpeta con su contenido, contra la escritura, evitando totalmente la modificación o el borrado de los mismos aunque el usuario sea el root.

sudo chattr +i Carpeta-a-Proteger
sudo chattr -i Carpeta-a-Desproteger

Si lo que queremos es proteger también el contenido de la carpeta de forma recursiva, entonces tenemos que añadir la opción -r.

sudo chattr -r +i Carpeta-a-Proteger
sudo chattr -r -i Carpeta-a-Desproteger Para más información sobre este comando, teclea man chattr.

Ubuntu/Linux
1774

Dame tu opinión

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>