{"id":123,"date":"2004-05-29T00:29:53","date_gmt":"2004-05-28T22:29:53","guid":{"rendered":"http:\/\/www.marblestation.com\/blog\/?p=123"},"modified":"2012-04-26T19:11:28","modified_gmt":"2012-04-26T17:11:28","slug":"permisos-dispositivos-dev","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=123","title":{"rendered":"Permisos dispositivos \/dev\/"},"content":{"rendered":"<p>Como muchos sabeis, en cualquier UNIX todos los dispositivos de un sistema se encuentran representados por un archivo con la excepci\u00f3n de las targetas de red, estos archivos se encuentran en el directorio &#8220;\/dev\/&#8221;. En Gentoo actualmente se usa &#8220;devfs&#8221; para administrar el directorio comentado &#8220;\/dev&#8221;, no es una propiedad de la distribuci\u00f3n sin\u00f3 un sistema virtual que se implement\u00f3 hace alg\u00fan tiempo y que quedar\u00e1 obsoleto con la rama 2.6 del kernel linux.<\/p>\n<p>La cuesti\u00f3n es que para poder assignar permisos a los dispositivos (e.g. que solo el usuario X pueda utilizar la grabadora o el dvd) se debe realizar a trav\u00e9s de un archivo de configuraci\u00f3n (\/etc\/devfsd.conf) y no directamente con &#8216;chmod&#8217;.<\/p>\n<p>En mi casa tengo una m\u00e1quina que esta encendida todo el dia y en la cual incluso mi madre tiene un usuario para que pueda navegar, jugar o entretenerse con Gnome. Tiene aplicaciones de sonido para poder reproducir MP3, CDs, etc&#8230; por tanto, necesita tener permisos para poder acceder a los dispositivos de sonido que se encuentran en \/dev\/sound\/*, asi que en el archivo de configuraci\u00f3n de devfs tenia:<\/p>\n<pre>\r\nREGISTER        sound\/.*     PERMISSIONS root.audio 660\r\nREGISTER        snd\/.*       PERMISSIONS root.audio 660\r\n<\/pre>\n<p>El usuario de mi madre al igual que el mio o el de mi hermano pertenece al grupo audio, asi que en principio no habia problema. Pues bien, cada vez que reiniciaba la m\u00e1quina me encontraba con:<\/p>\n<pre>\r\n# ls -la \/dev\/sound\/dsp\r\ncrw-------   1 root audio 14,  3 ene  1  1970 dsp\r\n<\/pre>\n<p>Es decir, no teniamos permisos para poder reproducir m\u00fasica.  Tenia que hacer yo un chmod manualmente despues de cada reinicio (por suerte no se reinicia casi nunca). Hoy por fin me he puesto a buscar una respuesta y la he encontrado en el foro de gentoo, por lo visto hay un modulo <a href=\"http:\/\/www.kernel.org\/pub\/linux\/libs\/pam\/\">PAM (Pluggable Authentication Modules)<\/a> que cambia los permisos de ciertos dispositivos, su nombre es &#8216;pam_console&#8217; y su configuraci\u00f3n se encuentra en \/etc\/security\/console.perms:<\/p>\n<pre>\r\n&#60;console>  0600 &#60;sound>      0600 root.audio\r\n<\/pre>\n<p>He modificado los primeros permisos:<\/p>\n<pre>\r\n&#60;console>  0660 &#60;sound>      0600 root.audio\r\n<\/pre>\n<p>Por lo visto este modulo hace que cuando un usuario entra a su cuenta se le asigna los dispositivos que controla, por ejemplo, si entro con &#8216;mono&#8217;:<\/p>\n<pre>\r\n$ ls -la \/dev\/sound\/dsp\r\ncrw-rw----  1 mono audio 14, 3 ene  1  1970 \/dev\/sound\/dsp\r\n<\/pre>\n<p>Como he puesto en la configuraci\u00f3n 660, ahora cualquier otro usuario que pertenezca a audio puede reproducir sonido. Como veis el modulo pam hace que el propietario sea el primer usuario que hace login, si este sale har\u00e1 que el siguiente usuario que entr\u00f3 sea el propietario, como si fuese una FIFO. Personalmente no le doy ninguna utilidad a esta funcionalidad, a decir verdad tampoco la entiendo muy bien, en el archivo de configuraci\u00f3n por ejemplo no me queda claro para que es cada cosa, pero al menos he conseguido arreglar de forma l\u00f3gica lo que necesitaba y he aprendido algo nuevo \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como muchos sabeis, en cualquier UNIX todos los dispositivos de un sistema se encuentran representados por un archivo con la excepci\u00f3n de las targetas de red, estos archivos se encuentran en el directorio &#8220;\/dev\/&#8221;. En Gentoo actualmente se usa &#8220;devfs&#8221; para administrar el directorio comentado &#8220;\/dev&#8221;, no es una propiedad de la distribuci\u00f3n sin\u00f3 un &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=123\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Permisos dispositivos \/dev\/<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-123","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=123"}],"version-history":[{"count":1,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/123\/revisions"}],"predecessor-version":[{"id":1801,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/123\/revisions\/1801"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}