{"id":64,"date":"2013-11-14T17:00:00","date_gmt":"2013-11-14T17:00:00","guid":{"rendered":"http:\/\/esferas.org\/msqlu\/2013\/11\/14\/ucs-extranas-relaciones-para-archivos-de-usuarios\/"},"modified":"2013-11-14T17:00:00","modified_gmt":"2013-11-14T17:00:00","slug":"ucs-extranas-relaciones-para-archivos-de-usuarios","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2013\/11\/14\/ucs-extranas-relaciones-para-archivos-de-usuarios\/","title":{"rendered":"UCS: extra\u00f1as relaciones para archivos de usuarios &#8230;"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1348,&quot;href&quot;:&quot;https:\\\/\\\/esferas.org\\\/mt\\\/msqlu\\\/assets_c\\\/2013\\\/11\\\/archivos%20de%20usuario1-118.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1068,&quot;href&quot;:&quot;http:\\\/\\\/www.bacula.org&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260415152913\\\/https:\\\/\\\/www.bacula.org\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 18:16:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 06:41:37&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 06:41:37&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1349,&quot;href&quot;:&quot;http:\\\/\\\/owncloud.org&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260124210554\\\/https:\\\/\\\/owncloud.org\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 21:16:51&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-15 21:16:51&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1350,&quot;href&quot;:&quot;http:\\\/\\\/zim-wiki.org&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260316012947\\\/https:\\\/\\\/zim-wiki.org\\\/&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/zim-wiki.org\\\/&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1351,&quot;href&quot;:&quot;http:\\\/\\\/www.cis.upenn.edu\\\/~bcpierce\\\/unison&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260415212025\\\/https:\\\/\\\/www.cis.upenn.edu\\\/~bcpierce\\\/unison\\\/&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/www.cis.upenn.edu\\\/~bcpierce\\\/unison&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1352,&quot;href&quot;:&quot;https:\\\/\\\/esferas.org\\\/mt\\\/msqlu\\\/assets_c\\\/2013\\\/11\\\/archivos%20de%20usuario2-122.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1353,&quot;href&quot;:&quot;https:\\\/\\\/esferas.org\\\/mt\\\/msqlu\\\/assets_c\\\/2013\\\/11\\\/archivos%20de%20usuario3-125.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"Imagen miniatura para Imagen miniatura para Cofre\" src=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/09\/yeKcim_chests_1-miniatura-100xauto-34-miniatura-100x96-35.png\" class=\"mt-image-left\" style=\"float: left; margin: 0 20px 20px 0;\" height=\"96\" width=\"100\" \/>&#8230; que hacen que todo sea mucho m\u00e1s divertido, pero tambi\u00e9n mucho m\u00e1s complicado. \u00bf Y qu\u00e9 ocurre cuando los mecanismo son complicados ? Pues que los fallos pueden ser mucho m\u00e1s <em>interesantes.<\/em> \u00a1 Hurra ! \u00a1 Diversi\u00f3n asegurada !<\/p>\n<p><!--more--><\/p>\n<p><a href=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario1-118.html\" onclick=\"window.open('https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario1-118.html','popup','width=1000,height=1415,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario1-miniatura-autox566-118.png\" alt=\"archivos de usuario1.png\" class=\"mt-image-right\" style=\"float: right; margin: 0 0 20px 20px;\" height=\"566\" width=\"400\" \/><\/a><\/p>\n<h2>Preliminares<\/h2>\n<p>Repasemos la situaci\u00f3n actual en mi lugar de trabajo.<\/p>\n<ol>\n<li>Los hom\u00ednidos que trabajan para la empresa emplean ordenadores aut\u00f3nomos funcionando bajo la distribuci\u00f3n de Linux Debian; el acceso a los archivos compartidos se lleva a cabo mediante montajes v\u00eda NFS sobre los servidores de la empresa.<\/li>\n<li>Las copias de seguridad se llevan a cabo empleando <a href=\"http:\/\/www.bacula.org\">Bacula<\/a>, que no es precisamente r\u00e1pido de montar, en los servidores locales y externos, y \u00fanicamente sobre bases de datos, programas, configuraciones y documentos. Todo funciona bien y hay armon\u00eda pero &#8230;.<\/li>\n<li>Los hom\u00ednidos generan informaci\u00f3n cont\u00ednuamente -especialmente documentos e im\u00e1genes- fuera de su directorio de trabajo en red. Esto es un hecho obvio y poco se puede hacer para remediarlo dentro de las leyes del estado en el que vivimos. Es m\u00e1s, si en lugar de indicarles que trabajen siempre sobre <em>$HOME\/Archivos<\/em> (como es el caso)<em> <\/em>les dices (<em>vaaaale, aceptamos pulpo)<\/em> que pueden emplear\u00a0<em>$HOME\u00a0<\/em>para guardar sus cosas, se las apa\u00f1ar\u00e1n para utilizar cualquier lugar fuera de su zona (como <em>\/tmp<\/em>) en la que tengan permiso de escritura.\u00a0<\/li>\n<li>Por no ahogar los medios de copia hay much\u00edsimas cosas que estoy ignorando totalmente. Entre ellas est\u00e1n los archivos de configuraci\u00f3n de programas como el lector de correo y el navegador (<em>icedove<\/em>, <em>iceweasel<\/em>, <em>Google Chrome<\/em>, &#8230;) y sus cach\u00e9s, porque no merece la pena el esfuerzo si el correo est\u00e1 en servidores externos y la navegaci\u00f3n web es ef\u00edmera en la mayor parte de los casos. Y, seamos realistas, me da igual que pierdan su hist\u00f3rico de p\u00e1ginas visitadas.<\/li>\n<\/ol>\n<p>Tambi\u00e9n tengo estas otras consideraciones:<\/p>\n<ol>\n<li>Por motivos que no vienen al caso considero que ser\u00eda tan bueno que esos archivos <strong>no estuviesen<\/strong> en Google Drive como que <strong>s\u00ed estuviesen <\/strong>en nuestra nube interna.<\/li>\n<li>Nuestra nube est\u00e1 gestionada por el programa <a href=\"http:\/\/owncloud.org\">ownCloud.<\/a> Aunque ofrece varias formas de acceder a los archivos del usuario entre ellas no est\u00e1 el montaje v\u00eda NFS. Es una l\u00e1stima pero es lo que hay, y siempre me queda WebDAV como posibilidad real a pesar de que tambi\u00e9n tiene su aqu\u00e9l para usarlo sin intervenci\u00f3n humana.<\/li>\n<li>Aunque es posible forzar las cosas y exportar los directorios de archivos de usuarios de <em>ownCloud<\/em> en crudo v\u00eda NFS o <em>rsync<\/em>, creamos el problema de que dejamos fuera de juego al programa y no registrar\u00e1 cambios en su bases de datos ya que entramos por la puerta de atr\u00e1s. Supongo que como todos: s\u00e1ltate las reglas impuestas y qu\u00e9jate luego de que el Universo es injusto.<\/li>\n<li>El cliente de sincronizaci\u00f3n para ownCloud tiene varios inconvenientes pr\u00e1cticos desde el punto de vista de instalaciones autom\u00e1ticas como las que acostumbro a utilizar:\n<ol>\n<li>Es dif\u00edcil -y est\u00e1 poco documentada- la configuraci\u00f3n v\u00eda archivo en lugar de utilizar el interfaz gr\u00e1fico. Eso\u00a0 quiere decir que al final me tocar\u00e1 ir terminal por terminal, ajust\u00e1ndolo a mano, y que suspirar\u00e9 desalentado cada vez que tenga que encarar alg\u00fan cambio global como excluir cierta carpeta precisamente porque &#8230;<\/li>\n<li>No tiene un juego de reglas flexible para excluir archivos en la sincronizaci\u00f3n. Dado que dentro del \u00e1rbol de directorios existen enlaces a directorios de red no puedo permitirme ning\u00fan fallo en la selecci\u00f3n de archivos o el espacio de copias desaparecer\u00e1 en un par de d\u00edas.<\/li>\n<li>A\u00fan no es estable del todo con archivos con mucho uso -como los que puedan emplear aplicaciones como <a href=\"http:\/\/zim-wiki.org\/\">Zim<\/a> (un wiki de escritorio muy c\u00f3modo)- y los errores y avisos son constantes en el escritorio. Es lo \u00fanico que le faltaba ya a mis hom\u00ednidos: est\u00edmulos que les distraigan de su tarea de apretar botones.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>As\u00ed pues me he puesto a buscar un programa que me permitiese sincronizar un par de directorios, que tuviese capacidad de selecci\u00f3n de archivos y que funcionase en segundo plano sin fanfarr\u00edas ni excesos en el escritorio (y estoy hablando de sincronizaci\u00f3n en los dos sentidos, lo que borren en la nube tiene que borrarse en su escritorio).<\/p>\n<p>Bien, pues creo que lo he encontrado y que se llama <a href=\"http:\/\/www.cis.upenn.edu\/~bcpierce\/unison\/\"><em>unison.<\/em><\/a><\/p>\n<h2><a href=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario2-122.html\" onclick=\"window.open('https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario2-122.html','popup','width=1000,height=1415,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario2-miniatura-autox849-122.png\" alt=\"archivos de usuario2.png\" class=\"mt-image-center\" style=\"text-align: center; display: block; margin: 0 auto 20px;\" height=\"849\" width=\"600\" \/><\/a><em>El software<br \/><\/em><\/h2>\n<p><a href=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario3-125.html\" onclick=\"window.open('https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario3-125.html','popup','width=1000,height=1415,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/esferas.org\/mt\/msqlu\/assets_c\/2013\/11\/archivos%20de%20usuario3-miniatura-autox566-125.png\" alt=\"archivos de usuario3.png\" class=\"mt-image-right\" style=\"float: right; margin: 0 0 20px 20px;\" height=\"566\" width=\"400\" \/><\/a>Seg\u00fan \u00e9stos esquemas lo id\u00f3neo es montar los archivos del usuario de <em>owncloud<\/em> en un directorio concreto y configurar un perfil de sincronizaci\u00f3n en <em>unison\u00a0<\/em>para que regularmente los vigile y efect\u00fae los movimientos de archivos y carpetas que correspondan. El problema aparece cuando ves las herramientas de que dispones para efectuar el montaje -sin recurrir al hom\u00ednido- son bastante reducidas.<\/p>\n<p>En el caso que expongo tengo que emplear un m\u00f3dulo especial de <em>PAM<\/em> para reutilizar la contrase\u00f1a de la sesi\u00f3n y efectuar el montaje v\u00eda <em>davfs2<\/em> y luego, en el script que arranca la sesi\u00f3n gr\u00e1fica lanzar <em>unison<\/em> en segundo plano para que vaya trabajando mientras el usuario sigue con su vida.<\/p>\n<p>De esta forma voy a crear un paquete Debian llamado <em>empresa-desktop-backup<\/em> que depender\u00e1 de <em>empresa-desktop <\/em>y arrastrar\u00e1, al menos, los paquetes:<\/p>\n<ul>\n<li>libpam-mount<\/li>\n<li>unison<\/li>\n<li>davfs2<\/li>\n<\/ul>\n<p>e incluir\u00e1 la configuraci\u00f3n para que funcione. Lo malo, y es bastante malo, es que emplear algo como PAM requerir\u00e1 un reinicio de sesi\u00f3n si algo falla. Tengo que pensar en alguna soluci\u00f3n parcial para \u00e9ste caso. Afortunadamente controlo el funcionamiento del escritorio en su pr\u00e1ctica totalidad y lo mismo s\u00f3lo tienen que escribir una contrase\u00f1a por pantalla. Cuesti\u00f3n de entrenarles, asumo ya.<\/p>\n<p>Los detalles t\u00e9cnicos ir\u00e1n en otra entrada &#8230;<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; que hacen que todo sea mucho m\u00e1s divertido, pero tambi\u00e9n mucho m\u00e1s complicado. \u00bf Y qu\u00e9 ocurre cuando los mecanismo son complicados ? Pues que los fallos pueden ser mucho m\u00e1s interesantes. \u00a1 Hurra ! \u00a1 Diversi\u00f3n asegurada !<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"1","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[2],"tags":[34,108,36,109],"class_list":["post-64","post","type-post","status-publish","format-standard","hentry","category-software","tag-backups","tag-owncloud","tag-ucs","tag-unison"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/64\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=64"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=64"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}