{"id":977,"date":"2014-10-22T00:46:40","date_gmt":"2014-10-21T22:46:40","guid":{"rendered":"https:\/\/diocesanos.es\/blogs\/equipotic\/?p=977"},"modified":"2014-11-19T10:44:07","modified_gmt":"2014-11-19T09:44:07","slug":"linux-para-novatos-haz-intocables-tus-archivos-importantes-en-linux","status":"publish","type":"post","link":"https:\/\/diocesanos.es\/blogs\/equipotic\/2014\/10\/22\/linux-para-novatos-haz-intocables-tus-archivos-importantes-en-linux\/","title":{"rendered":"Linux para novatos: haz intocables tus archivos importantes en Linux"},"content":{"rendered":"<p>Hoy toca hablar de <strong>chattr<\/strong>, una utilidad para nuestra terminal que sirve para asignar diferentes atributos a nuestros archivos en Linux. Uno de los objetivos principales de esta herramienta es el de proteger nuestros archivos de cambios involuntarios o borrados accidentales y lo mejor de todo, te proteger\u00e1 incluso aunque ejecutes comandos de borrado o modificaci\u00f3n siendo superusuario (root).<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2014\/10\/storage_disc.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-980\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2014\/10\/storage_disc.jpg\" alt=\"Hard drive disk toning in blue color close-up\" width=\"300\" height=\"300\" srcset=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2014\/10\/storage_disc.jpg 300w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2014\/10\/storage_disc-150x150.jpg 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Los atributos de los que vamos a hablar hoy son soportados por los sistemas de archivos de <strong>Linux<\/strong> nativo<strong>s<\/strong> como <strong>ext2, ext3, ext4, btrfs<\/strong>, etc&#8230; Uno no podr\u00e1 eliminar ni modificar los archivos con los atributos que usemos, aunque tenga todos los permisos para hacerlo.<\/p>\n<p>La <strong>sintaxis<\/strong> de este comando es la siguiente:<\/p>\n<p><!--more--><\/p>\n<blockquote>\n<pre><span style=\"color: #000000;\"><strong>chattr<\/strong> [operador] [atributo] [archivo]<\/span><\/pre>\n<\/blockquote>\n<h2><span style=\"color: #000000;\">Algunos de los atributos disponibles<\/span><\/h2>\n<p>Aqu\u00ed os dejo una <a href=\"http:\/\/www.alcancelibre.org\/staticpages\/index.php\/como-chattr\" target=\"_blank\">lista<\/a> traducida de las opciones y atributos que podemos usar para asign\u00e1rselos a los archivos mediante <strong>chattr<\/strong> y mi resumen b\u00e1sico:<\/p>\n<h4><strong>Opcion para tratar carpetas<br \/>\n<\/strong><\/h4>\n<ul>\n<li><strong>-R<\/strong> Cambia de <strong>manera descendente los atributos de directorios<\/strong> y sus contenidos.<\/li>\n<\/ul>\n<h4><strong>Operadores de asignaci\u00f3n<br \/>\n<\/strong><\/h4>\n<ul>\n<li><strong>+<\/strong> Hace que <strong>se a\u00f1adan los atributos<\/strong> especificados a los atributos existentes de un archivo.<\/li>\n<li><strong>&#8211;<\/strong> Hace que <strong>se eliminen los atributos<\/strong> especificados de los atributos existentes de un archivo<\/li>\n<li><strong>=<\/strong> Hace que <strong>se reemplacen los atributos<\/strong> existentes por los atributos especificados.<\/li>\n<\/ul>\n<h4><strong>Atributos m\u00e1s interesantes<br \/>\n<\/strong><\/h4>\n<ul>\n<li><strong>a<\/strong>\u00a0\u00a0 Establece que el archivo s\u00f3lo <strong>se puede abrir en modo de adjuntar<\/strong> para escritura.<\/li>\n<li><strong>i<\/strong>\u00a0\u00a0 Establece que <strong>el archivo ser\u00e1 inmutable<\/strong>. Es decir, se impide que el archivo sea eliminado, renombrado, que se pueden apuntar enlaces simb\u00f3licos hacia \u00e9ste o escribir datos en el archivo.<\/li>\n<li><strong>s<\/strong>\u00a0\u00a0 Cuando un archivo tiene este atributo, <strong>los bloques utilizados en el disco duro son escritos con ceros<\/strong>, de modo que los datos no se puedan recuperar por medio alguno. Es <strong>la forma m\u00e1s segura de eliminar datos<\/strong>.<\/li>\n<li><strong>u<\/strong>\u00a0\u00a0 Cuando un archivo con este atributo <strong>es eliminado, sus contenidos son guardados permitiendo recuperar<\/strong> el archivo con herramientas para tal fin.<\/li>\n<\/ul>\n<h2>Pr\u00e1ctica: hagamos archivos intocables<\/h2>\n<p>Para realizar el ejemplo sin miedo a da\u00f1ar nada, <strong>usaremos unos archivos de prueba<\/strong> llamados <code>carpeta-prueba<\/code> y <code>archivo-prueba.txt<\/code>. Procedamos a crearlos:<\/p>\n<pre><code>    $ mkdir carpeta-prueba\r\n    $ touch archivo-prueba.txt\r\n<\/code><\/pre>\n<p>Ahora, lo \u00fanico que tenemos que hacer es usar la sintaxis antes descrita para <strong>proteger nuestros archivos<\/strong>.<\/p>\n<pre><code>    $ sudo chattr +i carpeta-prueba\/\r\n    $ sudo chattr +i archivo-prueba.txt \r\n<\/code><\/pre>\n<p>Es importante saber que [ <code>i] <\/code><strong>solo puede ser asignada por un usuario con privilegios de superusuario<\/strong>. Si lo intentas como usuario \u00abnormal\u00bb recibir\u00e1s el siguiente mensaje:<\/p>\n<pre>chattr: Operaci\u00f3n no permitida mientras se pon\u00edan las banderas en archivo-prueba.txt<\/pre>\n<p>Ahora podremos comprobar los atributos mediante el siguiente <a href=\"http:\/\/bitelia.com\/2013\/11\/comandos-linux\">comando<\/a>:<\/p>\n<pre><code>    $ lsattr\r\n....\r\n----i--------e-- .\/archivo-prueba.txt\r\n...\r\n<\/code><\/pre>\n<p>Si intentamos borrar los archivos no nos dejar\u00e1 ni siendo superusuario:<\/p>\n<pre style=\"font-size: 80%;\">     $ rm prueba.txt \r\nrm: \u00bfborrar el fichero regular vac\u00edo \u00abprueba.txt\u00bb\u00a0 protegido contra escritura? (s\/n) s\r\nrm: no se puede borrar \u00abprueba.txt\u00bb: Operaci\u00f3n no permitida<\/pre>\n<p>Para volver a la normalidad el estado de los archivos:<\/p>\n<pre><code>    $ sudo chattr -i carpeta-prueba\/\r\n    $ sudo chattr -i archivo-prueba.txt \r\n<\/code><\/pre>\n<p>Y con esto ya podremos eliminarlos o modificarlos. Echadle un vistazo a los dem\u00e1s atributos, seguro que encontr\u00e1is algo \u00fatil.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy toca hablar de chattr, una utilidad para nuestra terminal que sirve para asignar diferentes atributos a nuestros archivos en Linux. Uno de los objetivos principales de esta herramienta es el de proteger nuestros archivos de cambios involuntarios o borrados accidentales y lo mejor de todo, te proteger\u00e1 incluso aunque ejecutes comandos de borrado o &hellip; <a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/2014\/10\/22\/linux-para-novatos-haz-intocables-tus-archivos-importantes-en-linux\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Linux para novatos: haz intocables tus archivos importantes en Linux<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40,5],"tags":[17,4,110,111],"class_list":["post-977","post","type-post","status-publish","format-standard","hentry","category-formacion-2","category-linux-2","tag-formacion","tag-linux","tag-permisos","tag-terminal"],"_links":{"self":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/comments?post=977"}],"version-history":[{"count":0,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/977\/revisions"}],"wp:attachment":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/media?parent=977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/categories?post=977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/tags?post=977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}