{"id":47,"date":"2013-11-19T16:46:38","date_gmt":"2013-11-19T16:47:03","guid":{"rendered":"https:\/\/10145configuracion-de-ftp.jpg"},"modified":"2015-07-16T18:43:19","modified_gmt":"2015-07-17T00:43:19","slug":"instalar-servidor-ftp-en-debian-y-derivados","status":"publish","type":"post","link":"https:\/\/emanuelpaxtian.com\/blog\/instalar-servidor-ftp-en-debian-y-derivados\/","title":{"rendered":"Instalar servidor FTP en debian y derivados"},"content":{"rendered":"<p>En esta ocasion mostrare como configurar un servidor FTP en linux especifiamente en debian y sus derivados el proceso de instalacion puede variar en otros pero la configuracion es igual<\/p>\n<p>Lo primero que tenemos que hacer es instalar los paquetes de vsftpd para ello abrimos una terminal y ejecutamos el siguiente comando:<\/p>\n<p><strong>sudo apt-get install vsftpd<\/strong><br \/>\nDespu\u00e9s de que este proceso halla terminado el servidor aun no esta listo para funcionar de manera segura, y ademas no tiene usuarios configurados, entonces hay que realizar los siguientes pasos.<\/p>\n<p>Como estamos configurando la instancia instalada de vsftpd, tenemos que detener el servicio para poder lograrlo. Esto lo logramos ejecutando el siguiente comando:<\/p>\n<p><strong>service vsftpd stop<\/strong><br \/>\nEntonces buscamos el archivo de configuraci\u00f3n que usualmente en una distribuci\u00f3n debian se localiza en \/etc\/vsftpd.conf. Este es un archivo que contiene los par\u00e1metros del comportamiento de nuestro servidor ftp.<\/p>\n<p>Para que este sea realmente seguro debemos ajustar algunos de estos par\u00e1metros:<\/p>\n<p>No queremos que los usuarios inicien una sesi\u00f3n ftp de manera an\u00f3nima.<\/p>\n<p><strong>anonymous_enable=NO<\/strong><br \/>\nSolo usuarios locales \u00a0podr\u00e1n utilizar el servicio de ftp. entonces habilitamos los usuarios locales:<\/p>\n<p><strong>local_enable=YES<\/strong><br \/>\nLos usuarios del ftp tendr\u00edan que ser capaces de escribir datos al servidor, asi que habilitamos la escritura.<\/p>\n<p><strong>write_enable=YES<\/strong><br \/>\nEl puerto default de cualquier servidor ftp es el 21, pero en ocasiones se escucha el puerto 20, esto no es necesario y podr\u00eda representar una brecha de seguridad, as\u00ed que lo cerramos<\/p>\n<p><strong>connect_from_port_20=NO<\/strong><br \/>\nEl siguiente se puede poner en YES o NO seg\u00fan se presente la necesidad. Si se desea que el usuario navegue por todo el sistema de archivos se pone YES, pero si se desea que el usuario navegue \u00fanicamente dentro de un directorio establecido se pone NO, para mi ejemplo lo dejare en YES.<\/p>\n<p><strong>chroot_local_user=YES<\/strong><br \/>\nFinalmente ponemos el umask en 022 para asegurarse que todos los archivos tengan set de permisos (644) y los directorios (755)<\/p>\n<p><strong>local_umask=022<\/strong><br \/>\nAhora bien, vamos a hacer que el directorio que el usuario encontrara al iniciar sesi\u00f3n sea uno en especifico, digamos \/var\/www\/MiAsombrosoSitio hipoteticamente hablando, entonces agregamos un usuario a ese directorio asi:<\/p>\n<p><strong>sudo useradd -d &lt;em&gt;\/var\/www\/MiAsombrosoSitio &lt;\/em&gt; -s \/usr\/sbin\/nologin elusuario<\/strong><br \/>\nluego creamos una contrase\u00f1a para dicho usuario asi:<\/p>\n<p>&nbsp;<\/p>\n<p><strong>sudo passwd elusuario<\/strong><br \/>\n<strong>sudo chown -R ftpuser \/var\/www\/MiAsombrosoSitio<\/strong><br \/>\n<strong>sudo chmod 775 \/var\/www\/MiAsombrosoSitio<\/strong><br \/>\nAhora lo que tenemos que hacer es crear una lista de usuarios que podran ingresar al servicio ftp, para ello hay que crear (si aun no existe) y editar un archivo llamado vsftpd.userlist<\/p>\n<p><strong>touch \/etc\/vsftpd.userlist<\/strong><br \/>\n<strong>nano \/etc\/vsftpd.userlist<\/strong><br \/>\nen este archivo agregamos el nombre de usuario en este caso \u201celusuario\u201d y guardar dicho archivo.<\/p>\n<p>Ahora debemos abrir el archivo vsftpd.conf de nuevo y agregar las siguientes lineas al final del mismo:<\/p>\n<p><strong># la lista de usuarios a las que se les da acceso<\/strong><br \/>\n<strong>userlist_file=\/etc\/vsftpd.userlist<\/strong><\/p>\n<p><strong># esta lista esta habilitada<\/strong><br \/>\n<strong>userlist_enable=YES<\/strong><\/p>\n<p><strong># no es una lista a la que se deniega el acceso.<\/strong><br \/>\n<strong>userlist_deny=NO<\/strong><br \/>\nEn este punto estamos casi listos para utilizarlo, pero debemos agregar un nologin a los shells del sistema, entonces ejecutamos el siguiente comando:<\/p>\n<p><strong>nano \/etc\/shells<\/strong><br \/>\ny agregamos esto al final del archivo:<\/p>\n<p><strong>\/usr\/sbin\/nologin<\/strong><br \/>\nLuego creamos un grupo de usuarios y agregamos al usuario ftp a el:<\/p>\n<p><strong>sudo addgroup ftpusers<\/strong><br \/>\n<strong>sudo usermod -Gftpusers elusuario<\/strong><br \/>\nY finalmente volvemos a iniciar el servicio vsftpd asi:<\/p>\n<p><strong>service vsftpd start<\/strong><br \/>\nY ahora ya estamos listisimos para utilizar nuestro servidor ftp, talvez por medio de un cliente FTP como FileZilla<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta ocasion mostrare como configurar un servidor FTP en linux especifiamente en debian y sus derivados el proceso de instalacion puede variar en otros pero la configuracion es igual&hellip;<\/p>\n","protected":false},"author":1,"featured_media":594,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-47","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":0,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media\/594"}],"wp:attachment":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}