Servicios de transferencia de ficheros.

Caso práctico

jmerelo (CC BY-NC)

Julián es el director del IES Montes Claros, centro donde traba Alberto, encargado de mantenimiento de los equipos informáticos.
Aunque a Alberto le gusta mucho la informática se puede decir que no es un experto en este campo, con lo que a veces tiene dudas de cómo realizar determinadas tareas.
Cierto día se encuentran por el pasillo del centro y Julián le hace una consulta sobre el uso del servidor del centro.

-Alberto, tenemos la necesidad de compartir una serie de documentos con todos los equipos del centro.

-Pues, para ello Julián, podemos hacer uso de uno de los equipos de dirección como servidor de ficheros.

-¿Tú crees que esto sería factible? Existen documentos que son de interés público para todos los departamentos, otros son exclusivos para parte del profesorado… Parece un tema complejo.

-Yo creo que no vamos a tener ningún problema en poder compartir los ficheros, aunque desconozco como se podrá restringir quién está autorizado a acceder a ellos –contestó Alberto.

-Pues este tema es bastante interesante, porque no todos los ficheros serán de dominio público. Es necesario tener ciertas condiciones en cuenta –matizó Julián.

-No te preocupes, Julián. Tiene que existir una manera de hacerlo. Me voy a poner en contacto con la empresa de mantenimiento. Ellos están más capacitados que yo y les pediré consejo. Ahora mismo voy a telefonear a María, que es la experta.

-Te lo agradezco, Alberto, da gusto trabajar con gente tan eficiente –concluyó Julián.

Como has podido comprobar es muy importante poder compartir ficheros entre distintos equipos de la red. Existen muchas maneras de  compartir carpetas, pero es muy interesante el hecho de poder utilizar un servidor FTP (File Transfer Protocol o Protocolo de Transferencia de Ficheros). Es un protocolo de red para transferencia de archivos entre sistemas conectados a una red basada en arquitectura cliente-servidor.

Como puedes suponer, la arquitectura cliente-servidor funciona de la siguiente forma: los equipos clientes se podrán conectar a un equipo servidor para descargar archivos desde él o para enviarle archivos. Esto es independiente del sistema operativo utilizado en cada equipo.

El tema que vas a afrontar ahora trata precisamente de este tipo de servidores de transferencia de ficheros. Aprenderás a utilizarlo desde el punto de vista del cliente y, por supuesto, a instalar y configurar un servidor FTP.

Es un programa especial, normalmente instalado en un servidor de red, que te permite el intercambio de ficheros entre ordenadores clientes y el servidor.

Método por el cual dos ordenadores acuerdan comunicarse, estableciendo unas normas que deben cumplir ambas partes.

Consiste básicamente en un cliente que realiza peticiones a otro programa o equipo, denominado servidor, que le da respuesta a su petición.

1.- Conceptos generales de los servicios de FTP.

Caso práctico

Alberto,  el responsable del mantenimiento de los equipos del instituto.
Stockbyte. (Uso educativo no comercial)

Alberto, el encargado del mantenimiento de los equipos del IES Montes Claros, ha llamado a la empresa de María y Juan. Como recordarás, es la empresa que les lleva el mantenimiento de los equipos informáticos. Ahora les ha llamado para ver si le pueden echar una mano con el servidor de ficheros que tiene que montar en el centro.

-Hola soy Alberto, ¿qué tal?

-Hola Alberto, soy María. Muy bien, ¿necesitabas algo?

-Pues en realidad sí, necesitaba que me ayudaras a compartir ciertos ficheros desde el ordenador de dirección del centro con los equipos que tengo en los departamentos. ¿Existe una solución fácil?

-Sí, claro, ningún problema. Lo mejor es que montemos un servidor FTP.

-Otra de las condiciones es que no todos los ficheros sean públicos. Algunos solo se podrán acceder desde ciertos departamentos. ¿Es esto posible?

-Sí, no hay ningún problema. En el servidor se podrán crear accesos públicos o privados. Además, también podrán subir archivos desde los equipos de los departamentos hasta el de dirección.

-¡Hum!, eso que me estás contando suena muy bien. Es justo lo que necesito.

-Pues antes de ponernos manos a la obra, necesitas un par de clases para saber en qué se basa todo esto…

Este problema que Alberto le propone a María, es muy común en la vida de un profesional informático. Ha de existir un lugar donde los usuarios y usuarias de la red puedan almacenar ficheros con la idea de poder compartirlos a través de la red.

Para ello los ficheros permanecerán almacenados en un servidor. Desde un equipo cliente conectado a la red se podrá acceder a dichos ficheros. Un matiz interesante es que, además de poder realizar descargas del equipo servidor al equipo cliente, la comunicación también puede ser recíproca. Es decir, que desde el equipo cliente se pueden subir ficheros al servidor de modo que otros usuarios podrán acceder a ellos.

Además, los servidores de ficheros permiten utilizar distintas cuentas de usuarios y usuarias con distintos permisos. Así, en un momento determinado, en función de la cuenta que hayas utilizado para acceder al servidor podrás realizar distintas operaciones o acceder a distintos ficheros.

1.1.- Introducción.

Para empezar, lo primero que tienes que conocer es que las siglas FTP son las siglas en inglés de File Transfer Protocol, o en español, Protocolo de Transferencia de Archivos. Es, como su nombre indica, un protocolo de red para la transferencia de archivos en redes basadas en la arquitectura cliente-servidor.
Desde un equipo cliente podrás conectarte al servidor para descargar archivos de él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.

Este protocolo se ofrece en la capa de Aplicación del modelo TCP/IP, siglas de Transfer Control Protocol/Internet Protocol, normalmente utilizando los puertos de red 20 y 21.

El problema que tiene este protocolo es que está pensado para dar la máxima velocidad de conexión, pero no máxima seguridad.

Has de saber que para establecer una comunicación mediante FTP entre dos máquinas, ha de superarse una fase previa de autenticación basada en un fichero de contraseñas.

Sin embargo, todo el intercambio de información, desde el nombre de usuario y contraseña hasta la transferencia del archivo se realiza sin ningún tipo de cifrado. De este modo, se puede capturar este tráfico, acceder al servidor y apropiarse de los archivos transferidos.

Además de esta clara desventaja, también tenemos la posibilidad de enviar y recibir ficheros mediante HTTP, es decir, mediante la Web o servicios P2P (redes de igual a igual), lo que está reduciendo poco a poco el uso del servicio FTP.

Pese a todo, constituye una de las herramientas más útiles para el intercambio de ficheros entre diferentes ordenadores y es la forma habitual de publicación (subir archivos) en Internet.

Son las siglas de File Transfer Protocol. Traducido significa protocolo de transferencia de ficheros.

Interfaz para comunicarse con un programa a través de la red.

Para saber más

Si necesitas recordar algo más de las capas del modelo OSI, te propongo el siguiente enlace sobre las funciones y servicios de las capas:

Artículo sobre TCP/IP.

Autoevaluación

Pregunta

¿En qué capa del modelo TCP/IP trabaja el protocolo FTP?

Respuestas

Red.

Transporte.

Sesión.

Aplicación.

Retroalimentación

1.2.- Servidor FTP y cliente FTP.

Un servidor FTP es un programa que se ejecuta en un equipo servidor que estará conectado a una red, ya sea de tipo LAN (Local Area Network, o Red de área local), de tipo MAN (Metropolitan Area Network, o Red de área metropolitana), o Internet. Su función principal es permitir el intercambio de datos entre diferentes equipos.

Los programas servidores FTP no suelen encontrarse en los ordenadores personales sino en máquinas que cumplen esta función. El usuario o usuaria normalmente utilizará FTP para conectarse remotamente a uno y así intercambiar información con él.

Uno de los usos más comunes de los servidores FTP suele ser el alojamiento de páginas web. Los clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes al servidor a través de un programa FTP.

Bueno, ahora vamos a saber algo más de los clientes FTP. Si necesitamos cargar a un ordenador archivos necesitaremos un programa cliente FTP. Un cliente FTP es un programa que se instala en el ordenador del usuario o usuaria y utiliza el protocolo FTP para conectarse a un servidor y transferir archivos, ya sea para descargarlos o para subirlos.

El cliente FTP necesita conocer:

  • El nombre del archivo.
  • El ordenador en el que reside.
  • El ordenador al que se quiere transmitir el archivo.
  • La carpeta en la que se encuentra.

Existen muchos programas clientes FTP básicos tanto en Linux como en Windows que trabajan en modo comando. También existen programas clientes FTP con opciones añadidas e interfaz gráfica. Aunque algunos navegadores tienen integrado el servicio FTP, es más confiable a la hora de conectarse a un servidor FTP no anónimo un programa cliente como, por ejemplo, FileZilla, válido para plataformas Windows y Linux.

Filezilla Team. (Dominio público)

Programa que permite conectarse a un servidor FTP.

La comunicación con el servidor FTP se realiza a través de una serie de instrucciones en la ventana del sistema.

Debes conocer

En este enlace tienes la página oficial del programa cliente FileZilla. Es un programa gratuito que utilizaremos para el intercambio de ficheros con un servidor FTP. El enlace es el siguiente:

Página oficial de FileZilla

Captura de pantalla de página oficial de FileZilla.
Elaboración propia.. Captura de pantalla de FileZilla. (GNU/GPL)

En el siguiente vídeo se explica la descarga, instalación y uso del programa FileZilla:

Descarga e instalación de FileZilla

1.3.- Modos de acceso al servidor FTP.

Ahora que ya conoces que es un servidor FTP, tienes que aprender cómo funciona. Aunque podemos encontrarnos con otras posibilidades, hay dos tipos fundamentales de acceso a través de FTP:

  1. Acceso anónimo: cuando el contacto con la máquina lo realiza un usuario o usuaria sin autentificar y sin ningún privilegio en el servidor. El usuario o usuaria podrá acceder a un directorio público donde se le permite descargar los archivos allí ubicados pero sin posibilidad de escribir ningún fichero. Normalmente, no se le permite subir de nivel y listar los contenidos de los directorios de nivel superior.
  2. Acceso autorizado: cuando el usuario o usuaria que solicita la conexión tiene una cuenta con ciertos privilegios en el servidor y, tras autenticarse, se le deja entrar a su directorio predeterminado. Desde ese área puede descargar ficheros y, si la política del sistema se lo permite, también escribir, aunque normalmente se limita su espacio mediante una cuota de disco. Puede estar autorizado a recorrer parte del árbol de directorios y listar su contenido o escribir en ellos, dependiendo del tipo de privilegios que posea.

Ya hemos comentado que la arquitectura de este servicio se basa en un modelo cliente-servidor, donde los clientes serán los usuarios o usuarias de los equipos de la red y el servidor es un equipo al que se desea acceder. Es necesario, para poder transferir archivos entre dos ordenadores mediante FTP, que cada uno tenga un papel estipulado. Es decir, hay que decidir quien es el cliente FTP y quien el servidor FTP. El cliente envía comandos al servidor y éste los lleva a cabo. Los comandos que utilicemos nos servirán para subir o bajar ficheros al servidor, cambiar de directorio, o crear uno nuevo. Para poder intercambiar información entre ambos, necesitamos establecer previamente una conexión entre los dos. Esta conexión estará activa durante toda la sesión FTP.

Ya has leído en el apartado anterior que el servicio FTP utiliza dos puertos:

  • Uno de ellos es el puerto 20, el cual se utiliza para la transferencia de datos.
  • Y el puerto 21, utilizado para establecer el control de la comunicación.

Como FTP trabaja por encima del protocolo TCP, este nos ofrece unos mecanismos de detección y corrección de errores, lo que implica que FTP sea muy fiable.

La conexión de control (puerto 21) se encarga de iniciar la comunicación entre el cliente y el servidor y mantenerla activa. La conexión de transferencia de datos (puerto 20) existe sólo cuando hay datos que transmitir. Esta conexión se cierra cuando la transferencia de datos ha finalizado, mientras que la conexión de control sigue abierta durante toda la sesión.

El acceso al servidor FTP se realiza a través de un usuario anónimo sin contraseña. Dicho usuario sólo puede realizar copias de los ficheros, pero no puede subir ficheros al servidor.

El acceso al servidor FTP se realiza a través de un nombre de usuario y contraseña. Esta cuenta tendrá asociados ciertos permisos para, en principio, poder realizar más acciones que con el acceso anónimo.

Puerto utilizado en los servidores FTP para la transferencia de datos.

Puerto utilizado en los servidores FTP para el control de la comunicación.

Autoevaluación

Pregunta

¿Qué operación puedes realizar con un acceso autorizado al servidor que no podrías hacer con un acceso anónimo?

Respuestas

Descargar archivos restringidos.

Acceder al servidor.

Listar el contenido del directorio público.

Descargar archivos públicos.

Retroalimentación

1.4.- Modos de funcionamiento.

Ahora que ya conoces los puertos que utiliza el protocolo FTP, ya estás en condiciones de seguir ahondando en los distintos modos de funcionamiento que ofrece este protocolo.

En realidad, debes saber que el servicio FTP tiene dos modos de funcionamiento, que son:

  • Modo estándar o activo.
  • Modo pasivo.

Ambos modos de funcionamiento utilizan el puerto 21 del servidor como canal de control. Estudiarás ahora en profundidad qué diferencias hay entre un modo de funcionamiento y otro.

  • Modo activo: En este modo, el servidor crea el canal de datos en su puerto 20, mientras que en el cliente el canal de datos se asocia a un puerto aleatorio mayor de 1024.

    El cliente le envía al servidor por el canal de control, el 21, indicándole cuál es el número de puerto que va a utilizar para los datos. Así el servidor puede abrirle una conexión de datos por donde se transferirán los archivos. Este modo de trabajo tiene un problema de seguridad. El cliente, al tener que aceptar una conexión de entrada en un puerto superior al 1024, implica muchos problemas sobre todo si está conectado a una red insegura como Internet. Los cortafuegos que tenemos instalados en los equipos es muy probable que rechacen esas conexiones aleatorias. Por eso se desarrolló el modo pasivo.

  • Modo pasivo: el cliente envía un comando PASV sobre el canal de control (el puerto 21). El servidor FTP indica a través de este mismo canal el puerto del servidor al que debe conectarse el cliente (un puerto que será mayor a 1023 en el servidor). Entonces es el cliente quien inicia una conexión desde el puerto siguiente a su puerto de control hacia el puerto del servidor que se ha especificado anteriormente.

Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20 (si está en modo activo).

Modo de trabajo de un servidor FTP. Los puertos que utiliza pueden producir problemas de seguridad en redes no seguras como Internet.

Aplicación o herramienta que funciona como protección de un ordenador que está conectado a una red, especialmente Internet. Controlan el tráfico entrante y saliente, informando o evitando actividades sospechosas.

Modo de trabajo de un servidor FTP que soluciona los problemas de seguridad que tiene el modo activo.

Autoevaluación

Pregunta

¿Cuál de las siguientes características no se ajusta al modo de funcionamiento pasivo de FTP?

Respuestas

El cliente utiliza su puerto 21 para la transferencia de ficheros.

El servidor establece la comunicación por el puerto 20 para la transferencia de datos.

El cliente se conecta al servidor a un puerto superior al 1023 para la transferencia de datos.

El servidor no utiliza el puerto 21 para ninguna función.

Retroalimentación

1.5.- FTP y P2P.

En este apartado veremos las diferencias que existen entre estos dos modos de intercambio de ficheros. En una red donde tenemos instalado un servidor siempre nos decantaremos por un servidor FTP, aunque en algún escenario nos puede interesar este otro modo de intercambio de ficheros, que es el P2P.

Una red peer-to-peer (P2P) es una red de ordenadores en el que los nodos funcionan sin clientes ni servidores, sino que se comportan como iguales entre sí. Cada nodo puede cumplir a la vez el rol de cliente y servidor respecto a los demás nodos de la red. Este tipo de redes permite el intercambio directo de datos entre todos los equipos conectados. Estas redes son polémicas porque a veces se usan para el intercambio de archivos cuyo contenido está sujeto a las leyes de propiedad intelectual.

Este tipo de redes optimizan y aprovechan mejor el ancho de banda, obteniendo así más rendimiento en las conexiones y transferencias.

David de Ugarte. (Dominio público)

Existen distintos tipos de redes P2P:

  • Redes P2P centralizadas: se basa en una arquitectura en la que todos los intercambios se realizan a través de un único servidor, que hace de punto de enlace y almacena y distribuye los nodos donde se almacenan los contenidos. Ejemplos: Napster y Audiogalaxy.
  • Redes P2P híbridas, semidescentralizadas o mixtas: Existe un servidor central que sirve solo para enrutar y comunicar a los nodos entre sí. La información a compartir se guarda en cada uno de los nodos. Si el servidor en un momento falla, los nodos pueden seguir intercambiando la información a través de sus enlaces directos. Ejemplos: BitTorrent y eDonkey.
  • Redes P2P puras o totalmente descentralizadas: no tienen ninguna gestión central, con lo que los nodos gestionan las conexiones y almacenan la información. Los nodos actúan como cliente y servidor al no existir un servidor central. Ejemplos: Kademlia y Ares Galaxy.

Término equivalente a red P2P. Es una red donde todos los equipos funcionan de igual a igual, sin funciones de clientes y servidores entre ellos.

Para saber más

En el siguiente enlace vemos un vídeo que explica el funcionamiento de una red P2P, sus ventajas e inconvenientes:

Funcionamiento de redes P2P

Más información sobre redes P2P en el siguiente enlace:

http://www.mecd.es/cidead/aulavirtual/mod/resource/view.php?id=31986

Conviene reflexionar sobre el uso ético de estos programas, que siempre han estado vinculado a la piratería. Muchas veces se utilizan para compartir ficheros de música, vídeos o libros.

En el siguiente enlace vemos una presentación sobre redes P2P, la piratería y la legalidad de ciertas acciones en la red.

Redes P2P, piratería y legalidad en la red.

2.- Configuración y uso de clientes FTP.

Caso práctico

Maria hablando por teléfono.
Stockbyte. (Uso educativo no comercial)

María, que es la técnica superior de Administración de sistemas en red que trabaja en la empresa que da servicio técnico al instituto, recibe la llamada de Alberto.
Alberto y María se encuentran conversando sobre la mejor manera para que el profesorado del IES Montes Claros pueda acceder a los ficheros que se ubicarán en un servidor FTP.

-Bueno, María, yo creo que lo mejor es buscar un modo de acceso sencillo para todos los profesores y profesoras puesto que no todos son expertos en el manejo de los ordenadores.

-Ya me lo puedo imaginar. Existen varias formas en las que un cliente se puede conectar a un servidor FTP. Habrá que valorar las ventajas e inconvenientes de todas ellas y elegir la que mejor se adapte a nuestras necesidades.

-¿Existen muchos modos de conectarse al servidor FTP? –preguntó Alberto.

-Sí, y partiendo de la base de que no todos son usuarios o usuarias expertos –matizó María-, es probable que nos decantemos por un acceso a través de un programa o a través de un navegador.

-¿Pero hay mas formas aún?

-Además de los dos modos que ya te he dicho, también puede hacerse a través de comandos –respondió María.

-Que interesante me parece –valoró Alberto-. Me gustaría aprender más sobre este tema.

Como habrás percibido por la conversación que mantienen María y Alberto, hay varios modos de poder acceder a un servidor FTP desde un equipo cliente. Cada uno de ellos estará indicado para un tipo de usuario o usuaria concreto o para un uso en particular. En este apartado aprenderás los distintos tipos de clientes FTP que puedes encontrar.

2.1.- Clientes FTP.

Como ya hemos comentado en el apartado anterior, hay distintos modos para poder conectarnos a un servidor FTP. Las tres formas de poder comunicarnos desde un cliente a un servidor son las siguientes:

  • Modo comando: nos comunicaremos con el servidor FTP a través de una ventana del sistema si es un sistema operativo Windows o a través de un Terminal si estamos en un sistema operativo Linux. En primer lugar se establece una conexión con el servidor. Una vez autenticado el usuario o usuaria, a través de una serie de comandos podemos realizar las operaciones que se deseen.
Nuria Celis Nieto.. Captura de pantalla de Windows. (Copyright (Cita))
Elaboración propia.. Captura de pantalla de Windows. (Copyright (Cita))
  • Clientes gráficos: internamente funcionan igual que en el modo comando, pero nos ofrece al usuario o usuaria una transparencia en las operaciones. Cuentan con un interfaz gráfico de carpetas y ficheros donde se pueden copiar los ficheros entre el equipo cliente y el equipo servidor sin necesidad de conocer los comandos. Esto es realizado por el programa de forma transparente.
    Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)
  • Navegadores: la mayoría de los navegadores incluyen un cliente ftp, en algunos casos limitado, pero fácil de utilizar. Para utilizarlo, basta con incluir en la barra de dirección la dirección FTP a la que quieras acceder. La sintaxis será del estilo ftp://direcciónftp. Si para acceder al servidor ftp es necesario hacerlo con nombre de usuario y contraseña, la sintaxis es entonces: ftp://nombreusuario:contraseña@direcciónftp. Puedes hacer la prueba en un navegador escribiendo una dirección ftp de algún servidor gratuito, como por ejemplo: ftp.rediris.es.
Nuria Celis Nieto.. Captura de pantalla de Mozilla Firefox. (GNU/GPL)

2.2.- FTP cliente en modo comando.

Ya has estudiado en el apartado anterior que se puede acceder a un servidor FTP de múltiples formas. Una de ellas es desde la ventana del sistema de tu sistema operativo. Para ello, se ha de escribir la instrucción ftp seguido del nombre del servidor. Pero, una vez dentro: ¿Cómo se le indican las operaciones que queremos ejecutar? Pues fácil, se indica con una serie de comandos que se resumen a continuación.

En primer lugar, para iniciar una sesión ftp en la ventana del sistema se puede hacer de dos modos:

  1. Escribes ftp nombre_del_servidor. Ejemplo: ftp ftp.microsoft.com. Fíjate que no es que escribas dos veces ftp, sino que en el nombre del servidor se suelen identificar con ftp.nombreservidor.extensión.
  2. Otro modo de entrar sería escribiendo solo la orden ftp y pulsando intro. El prompt o indicador del sistema, que son los caracteres que se muestran en la línea de comandos para indicar que está a la espera de órdenes, cambia a ftp>. A continuación se escribe: open ftp.microsoft.com.

En cualquier caso, sabes si te has conectado porque vemos un mensaje de bienvenida. En el ejemplo anterior:

Nuria Celis Nieto.. Captura de pantalla de Windows. (Copyright (Cita))

Al iniciar la conexión con "open ftp.microsoft.com", el servidor nos informa que estamos conectados y cuál es su nombre. Como aún no estamos identificados, aparecemos como ‘none’. Pero para poder entrar nos pide un usuario o usuaria y contraseña. Si el servidor FTP es anónimo, introducimos como usuario anonymous y como contraseña, en este caso, nos pide nuestro identificador del correo electrónico. Ni siquiera nos pide la dirección completa, sino solo nuestro identificador, lo que va antes de la @ en la dirección de correo.

Para saber los comandos que tenemos a nuestra disposición, escribimos help (ayuda) o el signo de interrogación “?”. La respuesta será una pantalla como la siguiente:

Nuria Celis Nieto.. Captura de pantalla de Windows. (Copyright (Cita))

En función de los privilegios con los que hayamos entrado al servidor FTP los comandos que nos podemos encontrar serán distintos. Así, es posible que, en otros casos, podamos encontrar comandos adicionales.

Usuario utilizado para la conexión al servidor FTP a través de un cliente si el acceso utilizado es anónimo.

Autoevaluación

Pregunta

Señala cuál de los siguientes comandos puedes encontrar en la ayuda del servidor ftp.microsoft.com

Respuestas

vget.

ls -l.

reopen.

get.

Retroalimentación

2.3.- Comandos FTP más habituales.

http://www.designftp.com/images/ftp.png (Free Art License)

Una vez que has aprendido con más detalle cómo se puede entrar a un servidor FTP a través de la consola del sistema, veremos un listado de los comandos más utilizados dentro del servidor. Serán los comandos que te servirán para moverte por las carpetas, y poder bajar y subir ficheros al servidor.

Relacionados con la conexión.

  • open [host]: abre una conexión FTP con el host especificado.
  • user [login: permite autenticarse como un usuario o usuaria determinado.
  • exit | bye | quit: cierra la conexión actual y terminan el programa.
  • close: cierra la conexión actual.

Gestión de la posición.

  • ls: muestra el contenido del directorio remoto.
  • dir: muestra el contenido del directorio actual en el servidor en formato largo (similar a ls -al).
  • !<comando>: ejecuta un comando en un shell en el cliente.
  • cd [directorio]: cambia el directorio actual en el servidor.
  • lcd [directorio]: cambia el directorio actual en el cliente.

Modos de transferencia.

  • get [fichero]: traslada un fichero desde el servidor al cliente.
  • put [fichero]: traslada un fichero desde el cliente al servidor.
  • mget [patrón]: traslada todos los ficheros que satisfagan cierto patrón del servidor al cliente.
  • mput [patrón]: traslada todos los ficheros que satisfagan cierto patrón del cliente al servidor.
  • binary: establece el modo de transferencia binario (todo lo que no sea texto ASCII).
  • ascii: establece el modo de transferencia para texto ASCII.
  • prompt: habilita o deshabilita el modo interactivo. Por ejemplo, cuando se transfieren a la vez más de un fichero utilizando un patrón. En el modo interactivo se pregunta para cada uno de ellos si se desea transferir o no.

help [comando]: Ofrece información sobre un comando concreto o sobre la lista de comandos.

Más información en:

https://es.wikipedia.org/wiki/Protocolo_de_transferencia_de_archivos

Cada una de las instrucciones que puedes utilizar en un cliente FTP en modo comando o consola.

Ejercicio resuelto

Realiza una conexión anónima a un servidor FTP para descargar un fichero. Toda la gestión se hará suponiendo que tenemos una ventana del sistema Windows abierta.

Autoevaluación

Pregunta

Señala cuál de los siguientes comandos utilizarías para subir un fichero al servidor FTP.

Respuestas

open.

get.

transfer.

put.

Retroalimentación

2.4.- Clientes FTP en modo gráfico.

Ya sabes que existen distintas maneras de acceder a un servidor FTP para poder interactuar con el. Una de esas formas es a través de un cliente FTP en modo gráfico. Existen muchas herramientas que podemos utilizar como cliente FTP pero nos vamos a fijar en una que es gratuita y muy extendida en su uso. Se trata de FileZilla.

FileZilla es un cliente FTP multiplataforma de código abierto y software libre. Inicialmente fue diseñado para funcionar en Microsoft Windows, pero a partir de la versión 3.0.0 está disponible para otros sistemas operativos, entre ellos Linux y Mac OS.

Programa de código abierto y multiplataforma que permite conectarnos a un servidor FTP con interfaz gráfica.

Debes conocer

En el siguiente enlace tienes la dirección de la página Web donde podrás descargarte el programa.

Descarga FileZilla Client.

Captura de pantalla de la página oficial de FileZilla.
Elaboración propia.. Captura de pantalla de FileZilla. (GNU/GPL)

Una vez descargado e instalado el cliente de FileZilla, el aspecto del programa es el siguiente:

Elaboración propia.. Captura de pantalla de FileZilla. (GNU/GPL)

En la parte de arriba del programa, fíjate que tienes unos campos de texto donde se introducen los datos del servidor al que te quieres conectar:

  • Tu nombre de usuario de acceso.
  • Contraseña.
  • Puerto que vas a utilizar.

Una vez conectado, en la parte izquierda del programa estás viendo un explorador de carpetas de tu equipo y, en la parte derecha, se verá un explorador de carpetas del servidor FTP. Para realizar el intercambio de ficheros en cualquier sentido, simplemente hay que coger el fichero y arrastrarlo al lado contrario de donde se encuentra, realizando así la operación de copiar y pegar.

Puedes realizar una conexión con un FTP que permita acceso anónimo a través del programa. Puedes probar con el siguiente servidor FTP de la Universidad de Valencia. Los datos que debes introducir son:

  • Nombre del servidor: ftp.uv.es
  • Nombre de usuario: anonymous.
  • Contraseña: tu nombre o tu dirección de correo.
  • Puerto: lo dejas como está.

En el momento que se conecta, verás a la parte derecha los contenidos del servidor. Puedes navegar por las carpetas y hacer alguna copia a tu ordenador.

Elaboración propia.. Captura de pantalla de FileZilla. (GNU/GPL)

3.- Instalación y administración del servidor FTP.

Caso práctico

Alberto escucha con atención a María.
Stockbyte. (Uso educativo no comercial.)

llegado la hora de ponerse manos a la obra. María se dispone a instalar y configurar el servidor FTP del IES Montes Claros, donde trabaja Alberto como responsable informático.

-Bueno, Alberto, en primer lugar tenemos que instalar y configurar el servidor y ya estará listo para ser usado. ¿Ya tenéis claro en qué ordenador lo vais a instalar?

-En principio sí, aunque todavía tengo una duda. ¿Se puede realizar esta instalación en varios sistemas operativos?

-Por supuesto que sí -respondió María-, se puede realizar tanto en plataformas Windows, Linux o incluso con algún software libre que cumpla esta función.

-Una vez que está instalado, ¿Qué tipo de mantenimiento necesita este servidor?

-Pues en realidad lo único que se necesita es que el servidor esté encendido. Después, será vuestro criterio el dejar ciertos ficheros al alcance de todos los usuarios y usuarias o solo para ciertos departamentos.

-Eso es precisamente el objetivo que se pretende conseguir –concretó Alberto-. Compartir ficheros con el profesorado, algunos de carácter general y otros de modo particular.

-Lo único será crear y asignar cuentas y permisos según las operaciones que quieras permitir a los distintos departamentos. Esa parte de planificación la tenéis que decidir vosotros. Yo solo configuraré lo que vosotros necesitéis.

-Como me gustaría aprender a hacer todas esas cosas que me cuentas, María. Me parecen de lo más interesante.

-Pues observa como lo hago yo, porque después el proceso en otras plataformas es muy parecido –le animó María.

Debes saber que no existe una única manera de instalar un servidor FTP. Se pueden utilizar los recursos que te ofrece un sistema operativo de red, como puede ser el caso del Windows 2016 Server o utilizar alguna aplicación para que te gestione el servidor.

En este tema aprenderás a instalar un servidor ftp en un sistema operativo de la familia Windows, pero también verás cómo se hace en un sistema basado en Linux.

3.1.- Configuración de un servidor FTP en Windows Server.

Para transferir archivos se puede usar un navegador, un cliente gráfico o directamente la consola. La forma más sencilla de usar un servicio FTP puede ser a través de un cliente gráfico, en el que podemos realizar operaciones de transferencia de archivos con el simple hecho de arrastrar y soltar con el ratón. En este apartado abordaremos la instalación y configuración de un servidor FTP mediante el programa FileZilla Server.

Elaboración propia.. Captura de pantalla de FileZilla. (GNU/GPL)
Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)

Una vez descargado el programa, puedes proceder a su instalación. Al terminarla te pide una serie de datos para configurar el servidor. En la pantalla te solicita:

  • La dirección IP.
  • Puerto.
  • Contraseña del administrador del servidor.

Se visualiza como en la imagen de la derecha:

Si estamos en la máquina donde se está ejecutando el servidor, simplemente debemos indicar la dirección 127.0.0.1 o nuestra dirección IP, el puerto por defecto es 14147 y la contraseña en blanco, aunque se recomienda modificar la contraseña una vez dentro de la aplicación.

En la ventana de administración podemos ver el log, o fichero de registro, donde se anotan los eventos y las acciones que va realizando el servidor FTP.

Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)

En FileZilla Server se pueden configurar tres elementos, que se verán en los apartados posteriores:

  • Los usuarios o usuarias de conexión.
  • Los grupos de usuarios.
  • Las opciones generales del servidor.

Autoevaluación

Pregunta

¿Cuál de los siguientes elementos no es configurable en el servidor FTP?

Respuestas

Los usuarios de conexión.

Los grupos de conexión.

La IP del servidor.

Opciones generales.

Retroalimentación

3.2.- Configuración de usuarios.

En primer lugar comentar que la configuración de usuarios y grupos son muy similares. En este apartado se configuran las características referentes a usuarios. Para empezar a funcionar nos basta configurar los nombres de usuarios, sus contraseñas, los directorios del servidor a los que podrán acceder y los permisos.

La configuración de usuarios y usuarias se realiza desde el menú Edit-> Users, o, lo que es lo mismo, Edición-> Usuarios. Nos aparece la siguiente pantalla:

Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)

Para establecer el acceso, sólo necesitas realizar los siguientes pasos:

  1. En el apartado General, a la derecha hay una sección de Users. Se necesita indicar al menos un usuario que luego será el cliente del servidor. Podemos utilizar un usuario de conexión libre llamado anonymous, sin contraseña, que sólo tendrá permitido la lectura y descargar de ficheros. Para ello, se pulsa el botón Add y se indica el nombre anonymous.
  2. Una vez creado el usuario, en la parte central se puede marcar la opción Password, o contraseña, y escribir la contraseña de ese usuario. Si el usuario es el anonymous, lo dejamos sin marcar, para que no tenga contraseña.
  3. Para indicar el directorio del equipo al que se tendrá acceso y los permisos que sobre el mismo va a tener. Hay que indicar para cada usuario la carpeta correspondiente. Para ello, vamos a la parte izquierda y seleccionamos Shared Folders (Carpetas compartidos). En la zona central damos al botón Add y se indica la carpeta que vamos a compartir. Además, hay que indicar para el directorio los permisos que sobre él va a tener el usuario de la conexión. Los permisos mínimos son de lectura en ficheros y directorios, que será para que el usuario o usuaria pueda descargar ficheros y navegar por los directorios.
  4. Si queremos que el usuario o usuaria pueda subir ficheros al servidor, así como crear y borrar directorios, habría que marcar todos los permisos. En las siguientes imágenes verás la configuración para un usuario anónimo con solo permisos de lectura y navegación, y la configuración para un usuario con todos los permisos activados.
  5. Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)
    Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)
    Pulsa OK para aceptar los cambios.

Con esta configuración básica nuestro servidor FTP ya está listo para funcionar. Puedes probarlo con un navegador indicando la URL: ftp://direccionIP, si tienes configurado el usuario anonymous sin contraseña. También se puede probar con el cliente FTP FileZilla a la dirección IP del equipo donde está el servidor, junto con el usuario y contraseña que has indicado.

Consentimiento o autorización del servidor FTP que da a una cuenta tuya para realizar ciertas operaciones sobre las carpetas compartidas.

3.3.- Configuración de grupos.

La configuración de grupos en Filezilla Server es muy similar a la configuración que acabas de estudiar para los usuarios. La creación de grupos facilita la asignación de privilegios y determina que tipos de tareas pueden realizar los distintos tipos de usuarios que se conecten al servidor.
En el caso de crear grupos para organizar mejor a tus usuarios, es recomendable, aunque no obligatorio, el organizar primero los grupos. Posteriormente, ir creando los usuarios e ir asociando a cada uno de ellos el grupo al que pertenezca.
Para crear un grupo de usuarios debes ir al menú Edit-> Groups:

Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)
  • General: se realizan configuraciones generales. Mediante el botón Add, o añadir, se generan todos los grupos que necesites. Es posible que indiques el número de conexiones simultáneas que podrá realizar este grupo de usuarios, entre otras opciones.
  • Shared Folders, o carpetas compartidas: en esta opción puedes agregar y definir las carpetas que tendrán acceso dicho grupo de usuarios. Si se quiere definir el directorio como directorio principal, pulsarás la opción Set at Home Dir (Establecer como directorio principal). Después de esto, aparecerá la letra H para indicar que el mismo es el directorio principal. Otras opciones son los permisos para manipular las carpetas y archivos, etc.
  • Speed Limits, o Límite de velocidad: Se establecen los límites de velocidad de descargas y otro para las subidas. Por defecto no se imponen límites (No Limit).
  • IP Filter, o Filtro de IP: Se puede añadir una lista de direcciones IP a bloquear para que dichos ordenadores no puedan tener acceso al servidor.

Autoevaluación

Pregunta

Señala en qué apartado de la configuración de grupos se pueden añadir nuevos grupos.

Respuestas

General.

Shared Folders.

Speed Limits.

IP Filter.

Retroalimentación

3.4.- Configuración de las opciones generales del servidor.

Una vez que ya has creado y configurado los usuarios, vas a investigar las opciones generales de FileZilla Server. Para ello, debes acceder al menú Edit -> Settings. A partir de aquí nos aparece un cuadro de diálogo con un árbol de opciones de configuración a la izquierda. Estas opciones están agrupadas en varios bloques. A continuación, se realiza un visionado general de las más importantes.

Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)
  • General Settings, u opciones generales: Aquí se puede configurar el puerto del servidor FTP, número máximo de conexiones admitidas, número de hilos (procesos) que se ejecutan y la configuración del tiempo en segundos, a partir de los cuales te echa del sistema. También permite la personalización del mensaje de bienvenida.
  • Passive mode settings: Configuración del modo pasivo del servidor.
  • Security settings: Opciones de seguridad para evitar ataques al mismo.
  • Miscellaneous: Opciones generales como ocultar las contraseñas en la pantalla de log.
  • Admin Interface settings: Permite cambiar el puerto de escucha para la utilidad de administración. En la parte de abajo permite cambiar la contraseña del administrador.
  • Logging: Permite almacenar el fichero log o fichero diario, en disco.
  • Speed Limits: Especificación de reglas para limitar la velocidad de las conexiones, evitando que unas sesiones monopolicen el ancho de banda disponible en detrimento de otras sesiones.

Recuerda que una vez dentro del sistema que sería muy interesante que escribieras una contraseña para el administrador.

Una vez que ya tenemos instalado y configurado nuestro servidor, hay que probar a ver si se realiza bien la conexión. La prueba se puede hacer desde el mismo equipo que aloja el servidor, o desde otro equipo de nuestra red local.

Si decides hacer la prueba desde el propio equipo, y suponiendo siempre que tienes el servidor conectado, se llevan a cabo los siguientes pasos:

  1. Arrancar el programa FileZilla. Como nombre del servidor le ponemos 127.0.0.1. Y como nombre de usuario o usuaria y contraseña, alguno de los que hayas utilizado al configurar el servidor.
  2. Automáticamente, el cliente ha de ser capaz de conectarse al servidor, dejando visible a la parte derecha la carpeta compartida por el servidor FTP.

Si decides hacer la prueba desde otro equipo de la red local, bien sea una máquina real o virtual, se procede de igual forma. En este caso hay que poner la IP de la máquina que aloja el servidor.

Si al realizar la prueba de conexión a un servidor FTP no se consigue conectar, es probable que tengas cerrado el puerto en el cortafuegos de Windows. Para que funcione, tienes que seguir los siguientes pasos:

  • Ir al Panel de Control -> Firewall de Windows.
  • Cambiar la configuración.
  • Agregar puerto. En esta opción abrimos el puerto 21 que es con el que trabaja nuestro servidor FTP.

Después de realizar esta operación, el cliente ya debería poder conectarse.

3.5.- Instalación de un servidor FTP en un entorno Linux.

Si en un momento determinado tuvieras la necesidad de instalar un servidor FTP en un entorno Linux, podrías utilizar el servidor FTP FileZilla Server que hemos utilizado en el entorno Windows. Pero, además de este servidor gratuito y multiplataforma, existen otros servidores de FTP para Linux. En este apartado y sucesivos aprenderás a instalar y configurar otra opción distinta a la que ya conoces. Después, igual que en entorno Windows, haremos la comprobación desde otra máquina trabajando como cliente.

El servidor FTP para Linux que vamos a utilizar es vsFTPd. Se trata de un servidor FTP rápido, de fácil instalación y flexible configuración, que permite diferentes posibilidades de autentificación, como mediante usuarios o usuarias del sistema Unix, mediante base de datos MySQL, etc.

Servidor de FTP de código abierto utilizado en plataformas Linux.

Debes conocer

El software de servidor FTP en Linux es vsftpd. Se puede ver toda la información de las sucesivas versiones en la web oficial:

Página de vsFTPd

No es necesario descargarlo, ya que usaremos el gestor de paquetes de nuestra distribución.

Para realizar la instalación de vsFTPd desde un sistema Linux ejecutamos desde el terminal:

sudo apt-get install vsftpd

Nuria Celis Nieto.. Captura de pantalla de Ubuntu. (GNU/GPL)

Y en principio así queda instalado nuestro servidor FTP en Linux. El siguiente paso será configurarlo, aunque eso lo dejamos para el siguiente apartado.

Autoevaluación

Pregunta

Señala la afirmación correcta:

Respuestas

Está disponible en plataformas Linux y Windows.

Se trata de un servidor FTP de pago.

Es un servidor FTP de código abierto para sistemas Linux.

Se trata de un cliente que nos permite acceder a servidores FTP.

Retroalimentación

3.6.-. Configuración de un servidor FTP en un entorno Linux.

Antes de comenzar a utilizar el servidor, debemos configurarlo. El archivo de configuración es /etc/vsftpd.conf ó /etc/vsftpd/vsftpd.conf.

Para modificar la configuración podemos editar este archivo con cualquier herramienta de edición, gráfica o en modo texto, pero es importante abrirlo con permisos de administrador:

Nuria Celis Nieto.. Captura de pantalla de Ubuntu. (GNU/GPL)

Una forma de editarlo sería con el programa “nano”:

sudo nano vsftpd.conf

En los ficheros de configuración, las líneas con una almohadilla (#) son comentarios y no se tienen en cuenta. Para alguna de las opciones explicadas a continuación será necesario quitarla: 

  • anonymous_enable: permite acceso a usuarios anónimos o no. Le pones YES.
  • local_enable: permite el acceso a usuarios y usuarias locales. Le pones YES.
  • write_enable: le indicamos si está permitido escribir en el servidor.

Como la mayoría de servicios en versiones modernas de diferentes distribuciones de Linux, se utiliza systemd (comando systemctl) para arrancar el servidor, reiniciarlo o detenerlo:

#/etc/init.d/vsftpd start.

#/etc/inti.d/vsftpd restart.

#/etc/init.d/vsftpd stop.

Para probarlo desde un cliente FileZilla, usaremos estos datos de conexión:

  • Nombre del servidor: IP de la máquina donde se encuentra el servidor FTP corriendo.
  • Usuario: Ha de ser anonymous, si queremos acceder con esta cuenta, o podemos usar una cuenta local de la máquina del servidor.
  • Contraseña: La contraseña correspondiente al usuario elegido.
Nuria Celis Nieto.. Captura de pantalla de FileZilla. (GNU/GPL)