Cómo crear y configurar un servidor FTP FTP (File Transfer Protocol) o protocolo de transferencia de archivos 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 utilizado 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. Instalando y configurando el servidor FTP. El archivo que usaremos para el servidor ftp se llama Very Secure FTP (VSFTP), el cual es uno que ofrece seguridad y sencillez en su configuración. Así que lo primero es instalar la versión de este paquete correspondiente a nuestra versión de Slackware. Para ello usamos el comando Slackpkg upgrade vsftpd. Ya instalado el paquete, tenemos que decidir cuál tipo de servidor ftp queremos usar. Para elegirlo ingresamos al siguiente archivo /etc/indetd.conf En este archivo veremos varios tipos de servidores ftp. Como mencionamos al principio en este caso usare el vsftp, para ello descomentamos la siguiente línea: Tras hacerlo guardamos los cambios y nos vamos a su archivo de configuración del servidor vsftp para editarlo. El archivo se encuentra en /etc/vsftpd.conf A continuación mostrare y modificare algunas de las opciones que tiene este archivo: Esta opción es para permitir el acceso de usuarios anónimos, o sea usuarios que no sean de este dominio. Por defecto viene permitida así que la descomentamos y la ponemos en NO. NOTA: tenga pendiente que ninguna de las otras opciones que habilitaremos a continuación correspondiente a los usuarios anónimos tendrá efecto mientras esta esté desactivada. Habilitamos esta opción en YES para que permita el acceso a usuarios locales al servidor. Habilitamos esta opción en YES para permitir a los usuarios que entren al servidor modificarlo. Habilite esta opción en YES para que los usuarios anónimos puedan crear directorios en el servidor ftp. Esta opción es para crear un archivo de logs del servidor ftp. El directorio que se muestra tenemos que crearlo o elegir otro de nuestra preferencia. Este es un mensaje para cuando se loguee un usuario. Habilitamos estas líneas para hacer que cada usuario que especifiquemos solamente vea su directorio /home y sus correspondientes subdirectorios cuando se conecte al servidor ftp. Cada usuario tendrá obviamente que autenticarse para entrar al servidor. La línea chroot_list_file es la que indica la ruta al archivo que contendrá a los usuarios que puedan acceder al servidor ftp (/etc/vsftpd.chroot_list en este caso). Tras habilitar las opciones ya mencionadas guardamos y salimos del archivo. El archivo vsftpd.chroot_list no viene creado por defecto, tenemos que crearlo nosotros: Como ya mencionamos hay agregaremos a los usuarios invitados, o sea a los que podrán acceder al servidor ftp: Por último le daremos los permisos necesarios al script de arranque de vsftp para que arranque al iniciar Slackware y lo iniciamos: #chmod 755 /etc/rc.d/rc.inetd #/etc/rc.d/rc.inetd start Y así queda configurado el servidor FTP. Accediendo al servidor FTP desde un equipo cliente. Hay varias formas de hacerlo, la más sencilla es abriendo el web browser y escribiendo ftp://ip_del_servidor que en este caso sería ftp://192.168.0.1 Para que le pida una autentificación, ahí coloque al usuario que agrego al archivo vsftpd.chroot_list allá en el servidor y su contraseña, que la puede cambiar en el servidor con el comando passwd. Tras autenticarse vera el directorio /home del usuario, como se ve en la siguiente imagen: También puede administrar el servidor FTP por líneas de comandos. Para ello ingrese el comando ftp ip_del_servidor, introduzca el nombre y la contraseña del usuario apropiado y ya estará dentro. Script que suba/baje archivos para el servidor FTP. Esto es algo muy sencillo y lo haremos desde el equipo cliente (un cliente Slackware en este caso). A modo de ejemplo, crearemos un script llamado backupftp1.sh que se conecte a nuestro servidor ftp y que le suba un archivo. Para crear el archivo escriba vim backupftp1.sh En este archivo escriba lo siguiente: Así queda configurado FTP, Para más información ver video del tema.