{"id":73,"date":"2013-02-25T16:18:59","date_gmt":"2013-02-25T16:18:59","guid":{"rendered":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/?p=73"},"modified":"2013-02-25T16:18:59","modified_gmt":"2013-02-25T16:18:59","slug":"el-sistema-de-seguridad-de-archivos","status":"publish","type":"post","link":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/el-sistema-de-seguridad-de-archivos\/","title":{"rendered":"El sistema de seguridad de archivos"},"content":{"rendered":"<p>En un sistema multiusuario como Linux es muy importante establecer mecanismos de seguridad de los ficheros para controlar qui\u00e9n puede acceder a ellos y que tipos de acceso puede llevar a cabo. Por ejemplo, si intentamos eliminar el directorio personal del usuario &#8216;ec2-user&#8217; obtendremos un mensaje de error:<\/p>\n<pre>$ rmdir \/home\/ec2-user\r\nrmdir: failed to remove '\/home\/root': Permision denied<\/pre>\n<p>Evidentemente ser\u00eda muy arriesgado permitir que cualquier usuario pudiera realizar una acci\u00f3n que perjudicara al funcionamiento del sistema o al trabajo de otros usuarios. Pero el sistema de seguridad tambi\u00e9n tiene que tener en cuenta la organizaci\u00f3n de los usuarios en grupos de Linux que permite compartir ficheros y directorios entre distintos usuarios. Seguidamente veremos los mecanismos que ofrece el sistema para solucionar estos aspectos.<\/p>\n<p>Tipos de permisos<\/p>\n<p>El sistema de permisos de Linux que se aplica a cada fichero o directorio divide los usuarios en tres categor\u00edas:<\/p>\n<ul>\n<li><strong>Propietario<\/strong>: Usuario que cre\u00f3 el fichero (aunque puede ser otro si ha sido modificado por alg\u00fan usuario con los privilegios suficientes).<\/li>\n<li><strong>Grupo<\/strong>\u00a0al que pertenece el fichero (inicialmente el del propietario).<\/li>\n<li><strong>Otros<\/strong>: resto de usuarios distintos del propietario y los miembros de su grupo.<\/li>\n<\/ul>\n<p>Para cada fichero y cada una de estas categor\u00edas, es posible establecer tres tipos de permisos:<\/p>\n<ul>\n<li><strong>Lectura<\/strong>: Para un fichero determina si podemos visualizarlo. Para un directorio, si podemos visualizar su contenido.<\/li>\n<li><strong>Escritura<\/strong>: Para un fichero determina si podemos modificarlo, eliminarlo o cambiarlo de nombre. Para un directorio indica lo mismo pero afecta tambi\u00e9n a su contenido.<\/li>\n<li><strong>Ejecuci\u00f3n<\/strong>: Para un fichero determina si podemos ejecutarlo. Para un directorio, indica si podemos entrar en \u00e9l y ejecutar su contenido.<\/li>\n<\/ul>\n<p>El conjunto de todas las combinaciones posibles forma lo que denominamos la m\u00e1scara de permisos de un fichero como muestra la siguiente figura:<\/p>\n<p><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/Permisos.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78\" alt=\"Permisos\" src=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/files\/2013\/02\/Permisos.gif\" width=\"315\" height=\"107\" \/><\/a><\/p>\n<p>Para visualizar el conjunto de permisos de un fichero podemos utilizar el comando ls con la opci\u00f3n -l. Por ejemplo, veamos los permisos del directorio personal del usuario &#8216;ec2-user&#8217; (a\u00f1adimos tambi\u00e9n la opci\u00f3n d para listar el directorio y no el contenido del directorio):<\/p>\n<pre>$ ls -ld \/home\/ec2-user\r\ndrwx------\u00a0\u00a0\u00a0 3 ec2-user\u00a0\u00a0\u00a0\u00a0 ec2-user \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096\u00a0 2003-01-26 02:05\u00a0 \/home\/ec2-user<\/pre>\n<p>La primera cadena de caracteres contiene el tipo de fichero (la &#8216;d&#8217; indica que es un directorio) y los permisos actuales. Cuando aparece un gui\u00f3n, significa que el permiso no est\u00e1 activado. Seguidamente se indica el tama\u00f1o, el propietario y el grupo al que pertenece. Como vemos, s\u00f3lo el propietario tiene permisos de escritura, que son los que nos permitir\u00edan eliminar el directorio. Como el propietario es &#8216;ec2-user&#8217;, s\u00f3lo este usuario puede hacerlo.<\/p>","protected":false},"excerpt":{"rendered":"<p>En un sistema multiusuario como Linux es muy importante establecer mecanismos de seguridad de los ficheros para controlar qui\u00e9n puede acceder a ellos y que tipos de acceso puede llevar a cabo. Por ejemplo, si intentamos eliminar el directorio personal del usuario &#8216;ec2-user&#8217; obtendremos un mensaje de error: $ rmdir \/home\/ec2-user rmdir: failed to remove &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/el-sistema-de-seguridad-de-archivos\/\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> \u00abEl sistema de seguridad de archivos\u00bb<\/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":[1],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","hentry","category-gnulinux","entry"],"_links":{"self":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":2,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":79,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/73\/revisions\/79"}],"wp:attachment":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}