Servidor FTP en Ubuntu Juan Antonio Fañas ¿Qué es FTP? FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor. Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a través de un cliente FTP. Servidor FTP en Ubuntu Juan Antonio Fañas Este protocolo se implementa con arquitectura cliente-servidor, por lo que necesita: Un servidor FTP que se esté ejecutando en la máquina remota, y que por defecto, estará escuchando en los puertos 20 y 21 TCP (el puerto 20 se utiliza para la transmisión de datos y el puerto 21 para los comandos de control). un cliente FTP para conectarnos al servidor. Instalación del servidor FTP Para esta práctica usaremos ProFTPd, debe ser uno de los mejores servidores ftp que existen para Linux. Es seguro, sumamente flexible, modular y fácil de configurar. Entre todas las características que tiene, las más rescatables son: Permite autenticar usuarios con casi cualquier cosa. Se pueden utilizar servidores virtuales de ftp. Se pueden tener múltiples servidores brindando servicio de ftp anónimo. Para poder instalarlo debes escribir en la terminal apt-get install proftpd y presionar Enter. Servidor FTP en Ubuntu Juan Antonio Fañas Es modular (lo que permite extender su funcionalidad ampliamente), un usuario con acceso por ftp únicamente no requiere de una configuración especial, y su código es libre (esta licenciando bajo GLP). Para este tutorial, seleccionaré la opción “standalone”. Tenemos que tener en cuenta los siguientes ficheros que son cruciales para la configuración del ProFTPd: /etc/init.d/proftd : fichero que inicia el servidor ftp. /usr/bin/proftpd : archivo ejecutable. /etc/proftpd.conf : Es el fichero de configuración del servidor. /etc/ftpusers : fichero que contiene una lista de usuarios que no se podrán conectar al servidor. Ahora, configuraremos el servidor ftp modificando el archivo proftpd.conf. Escribe en la terminal gedit /etc/proftpd/proftpd.conf En la primera parte, desactiva el soporte la IPv6 (actualmente no se está empleando esa versión del protocolo IP) y cambia ServerName (nombre del servidor). Servidor FTP en Ubuntu Juan Antonio Fañas Configuraremos el servidor ftp, para que sólo un usuario especifico puede acceder a los archivos compartidos en el ftp. Para esto debes ubicar la línea que dice DefaultRoot e indicar el directorio ftp que se crea automáticamente instalas el ProFTPd en este caso /home/ftp. Servidor FTP en Ubuntu Juan Antonio Fañas Para designar que usuario tendrá el acceso al servidor, debes ubicar la línea que dice: # Set the user and group that the server normally runs at. Especifica el usuario que desees, y que ya esté creado en el sistema operativo. Servidor FTP en Ubuntu Juan Antonio Fañas Por último, guarda los cambios, Para que los cambios tengan efecto, debemos de reiniciar el servicio ProFTPd, escribiendo /etc/init.d/proftpd restart. Verifica que el directorio ftp, se encuentra en /home. Entonces, escribe cd .. para dirigirte a home y luego ls. Servidor FTP en Ubuntu Juan Antonio Fañas Hay que modificar los permisos del directorio ftp, para que sea permitido subir y descargar archivos. Para eso emplearé el comando chmod 777 ftp. Luego escribe ls –l para comprobar que los permisos se le han otorgado. Para especificar que el nombre que le pusimos al servidor ftp este vinculado con la dirección IP del servidor, hay que modificar el fichero /etc/hosts. Para eso escribe gedit /etc/hosts. Vuelve y reinicia el servidor ftp, escribiendo /etc/init.d/proftpd restart. Subir y bajar archivos por líneas de comandos En primer lugar, debemos ingresar al servidor, escribiendo ftp [nombre del servidor] ó [dirección IP] Recuerda que para ingresar deberás introducir el nombre de usuario que especificaste en el archivo /etc/proftpd/proftpd.conf, junto a su contraseña. Servidor FTP en Ubuntu Juan Antonio Fañas Escribe help para visualizar todos los comando que puedes utilizar dentro del modo ftp> Para subir archivo, utilizaremos el comando put + el nombre del archivo. No se te puede olvidar especificar la extensión si posee. Entonces, como pudieron ver más arriba estoy en la carpeta Escritorio, ahí está el archivo que subiré llamado index.html Put /home/server-juan/Desktop/index.html Vemos como el archivo ha subido exitosamente. Servidor FTP en Ubuntu Juan Antonio Fañas Descargar Para realizar una descarga, se utiliza el comando get seguido del nombre del archivo. En mi directorio ftp esta un archivo llamado index.html y es el que utilizaré para la demostración. Si te preguntas en que parte de tu sistema operativo se encuentran los archivos y/o documentos que descargaste, un comando útil es lcd que te muestra la ruta del directorio local. Utilizando nuestro navegador: Con tan solo poner ftp://ip_del_servidor (en mi caso ftp://10.1.0.5) podemos acceder a los directorios con el usuario que esta permitido. Servidor FTP en Ubuntu Juan Antonio Fañas De esa misma forma accedemos de un cliente, ya sea de Linux: Servidor FTP en Ubuntu Juan Antonio Fañas Si queremos descargamos un archivo: O desde un cliente de Windows: Servidor FTP en Ubuntu Juan Antonio Fañas Para comprobar descargamos el archivo index.html en el escritorio Y listo!!