{"id":110,"date":"2012-02-27T23:41:44","date_gmt":"2012-02-27T22:41:44","guid":{"rendered":"http:\/\/www.jbahillo.com\/?p=110"},"modified":"2012-06-11T09:32:59","modified_gmt":"2012-06-11T08:32:59","slug":"montar-ftp-remotos-en-linux","status":"publish","type":"post","link":"https:\/\/www.jbahillo.com\/?p=110","title":{"rendered":"Montar FTP remotos en Linux"},"content":{"rendered":"<p>De todos es conocida la flexibilidad de los entornos GNU\/Linux referente a las opciones de sistemas de archivos que permite:<br \/>\nFAT (en cualquiera de sus versiones) NFS, las diferentes versiones de EXT, ReiserFS, etc.<\/p>\n<p>Pero no tan conocida es la posibilidad de montar un sistema FTP remoto. Para ello se usa el m\u00f3dulo del kernel CurlFtpFS, que a su vez est\u00e1 basado en FUSE (m\u00e1s conocido normalmente por ser la herramienta utilizada para el intercambio de archivos a trav\u00e9s de Bluetooth) y libcurl.<\/p>\n<p>Para ello, primeramente deberemos instalar el soporte del kernel. En los sistemas Debian (y derivados) lo podemos instalar a trav\u00e9s de apt. Para los sistemas basados en Red Hat, podemos usar yum, que lo instalar\u00e1 tambi\u00e9n sin problemas.<\/p>\n<p>Una vez instalado, procederemos a editar el fichero \/etc\/fuse.conf<\/p>\n<pre class=\"brush: bash; auto-links: true; collapse: false; gutter: true; first-line: 1; highlight: []; html-script: false; light: false; pad-line-numbers: true; toolbar: true; wrap-lines: true\">\n# Set the maximum number of FUSE mounts allowed to non-root users.\n# The default is 1000.\n#\n#mount_max = 1000\n\n# Allow non-root users to specify the &#039;allow_other&#039; or &#039;allow_root&#039;\n# mount options.\n#\n#user_allow_other\n<\/pre>\n<p>Y descomentamos la \u00faltima l\u00ednea. Esto nos permitir\u00e1 usar la opci\u00f3n <em>allow_other<\/em> en el fichero fstab que editaremos a continuaci\u00f3n, y que as\u00ed otros usuarios diferentes de root puedan acceder al recurso.<\/p>\n<p>Por \u00faltimo en \/etc\/fstab\/ a\u00f1adiremos la siguiente l\u00ednea:<\/p>\n<pre class=\"brush: bash; auto-links: true; collapse: false; gutter: true; first-line: 1; highlight: []; html-script: false; light: false; pad-line-numbers: true; toolbar: true; wrap-lines: true\">\ncurlftpfs#jbahillo:Y^z4RcuCD@ftp.tuservidor.com\/httpdocs \/mnt\/tuservidor fuse rw,allow_other,auto,users 0 0\n<\/pre>\n<p>Procedemos a explicar cada opci\u00f3n, aunque la mayor parte de ellas son bastante comunes (n\u00f3tese el parecido con una l\u00ednea de fstab con NFS):<\/p>\n<li>culftpfs#: especificamos que el montaje se har\u00e1 a trav\u00e9s de curlftpfs<\/li>\n<li>jbahillo:Y^z4RcuCD@ftp.tuservidor.com\/directorio : aqu\u00ed especificamos el usuario, contrase\u00f1a, servidor y ruta al modo del protocolo ftp, esto es: usuario:contrase\u00f1a@servidor\/ruta<\/li>\n<li>\/mnt\/tuservidor: indicamos aqu\u00ed la ruta local donde lo montaremos (que habremos creado previamente)<\/li>\n<li>fuse: especificamos el sistema de archivos<\/li>\n<li>rw,allow_other,auto,users: especificamos las opciones de montaje, que no son diferentes a las de cualquier otra l\u00ednea de fstab, excepto la allow_other, que ya comentamos previamente<\/li>\n<p>Grabamos y ya podr\u00edamos montar el sitio remoto a trav\u00e9s del comando mount \/mnt\/tuservidor, o bien a trav\u00e9s de curlftpfs jbahillo:Y^z4RcuCD@ftp.tuservidor.com\/directorio.<\/p>\n<p>Ahora bien, si bien esto en un entorno particular no es demasiado importante, este sistema plantea un problema de seguridad, dado que el fichero \/etc\/fstab tiene permisos de lectura para todos los usuarios (-rw-r&#8211;r&#8211;) y as\u00ed cualquiera que tuviese acceso al ordenador podr\u00eda conocer el usuario y contrase\u00f1a de dicho FTP. Adem\u00e1s debemos tener en cuenta que el proyecto curlftpfs no recibe actualizaciones desde hace casi cuatro a\u00f1os.<\/p>\n<p>Por ello, para entornos m\u00e1s profesionales, resulta mucho m\u00e1s aconsejable usar sshfs (cuyo soporte tambi\u00e9n debemos instalar si queremos usarlo), ya que as\u00ed no es necesario incluir la contrase\u00f1a en el archivo fstab, sino que sencillamente activando la autenticaci\u00f3n a trav\u00e9s de authorized_keys, nos validar\u00e1 autom\u00e1ticamente, contando adem\u00e1s con los beneficios de una comunicaci\u00f3n cifrada.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>De todos es conocida la flexibilidad de los entornos GNU\/Linux referente a las opciones de sistemas de archivos que permite: FAT (en cualquiera de sus versiones) NFS, las diferentes versiones de EXT, ReiserFS, etc. Pero no tan conocida es la&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/www.jbahillo.com\/?p=110\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":21,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[10,1],"tags":[16,12,11,13,14,15],"class_list":["post-110","post","type-post","status-publish","format-standard","hentry","category-gnulinux","category-seguridad","tag-curlftpfs","tag-fstab","tag-ftp","tag-linux","tag-ssh","tag-sshfs"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74T96-1M","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=\/wp\/v2\/posts\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=110"}],"version-history":[{"count":9,"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":421,"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions\/421"}],"wp:attachment":[{"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jbahillo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}