FTP (File Transfer Protocol) [PosRey85] es un protocolo para la transferencia de archivos entre computadores conectados a una red TCP/IP, sin importar el tipo de computador. Un servidor FTP es capaz tanto de proveer como de recibir archivos, y restringir el acceso sólo a personas autorizadas.
A través de la conexión FTP, sólo pueden realizarse operaciones simples sobre los archivos disponibles. Esto es, se puede borrar o renombrar un archivo, crear directorios, y realizar transferencias desde y hacia el que solicita la conexión.
Para establecer una conexión a una máquina remota, se debe especificar un nombre de usuario y su palabra clave de acceso. Una vez conectado, se tiene acceso al mismo sistema de archivos al que tiene acceso el usuario si se conecta desde un terminal o estación de trabajo. Dependiendo del sistema operativo del servidor, la estructura que puede tener el sistema de archivos es la de un árbol de directorios, partiendo por un directorio raíz que contiene archivos y subdirectorios, recursivamente.
Debido a que existen muchas plataformas (computadores) distintas en arquitectura e implementación, pueden configurarse algunas opciones de transferencia, tales como la conversion de códigos de caracteres para archivos de texto.
Generalmente, los servidores FTP están instalados, o al menos basados, en equipos unix, en donde existe cada archivo tiene un dueño y los permisos correspondientes de lectura, escritura y ejecución para el dueño, su grupo y los demás usuarios. De esta forma, al establecer una conexión FTP, sólo se tiene acceso a aquellos archivos y directorios que dan los permisos correspondientes.
Las facilidades que proveen los servidores FTP permiten que muchos archivos que son de interés general, tanto localmente como externamente, puedan ser puestos a disposición pública. Un servidor de este tipo es llamado FTP Anónimo. En los servidores FTP anónimos no se requiere de una cuenta propia ni de palabras secretas “públicas”. La cuenta utilizada tradicionalmente es “anonymous” y la clave secreta, opcional en algunos casos, es la identificación (dirección e-mail) del usuario que accesa. Esto último permite saber a los que mantienen el servidor quiénes accesan a éste y realizar estadísticas de uso, por lo que se considera una gentileza entregar esa información.
Una conexión anónima usualmente es bastante restringida. Sólo tiene acceso a la sub-estructura de archivos propia del servidor FTP. Esto se hace por razones de seguridad, ya que así se niega irreversiblemente el acceso a archivos de configuración del sistema donde está instalado el servidor FTP. En general, sólo se permite obtener archivos y no es posible modificarlos, ponerlos o borrarlos.
Los archivos y paquetes de archivos que generalmente se ponen a disposición pública son sistemas operativos, lenguajes de programación, utilitarios, juegos, editores de textos y gráficos, y documentación, entre otros.
La mayoría de esos programas son freeware, es decir, todas las personas que lo deseen pueden hacer uso de ellos, o de dominio público, en donde incluso pueden modificarlos. Otros están clasificados como shareware, es decir, una persona puede usarlo por un tiempo limitado con fines de evaluación, y pasado ese tiempo, debe pagar para obtener una licencia de uso, y posiblemente obtener una nueva copia del programa, además del soporte que sea necesario e información periódica sobre nuevas versiones.
Un ejemplo de sesión FTP en Unix se muestra en la Figura 2.2, y otra equivalente en ambiente gráfico Windows es la que se muestra en la Figura 2.3.
12:54:19 vparada@inti:1$ ncftp ftp.inf.utfsm.cl NcFTP 2.4.2 (October 28, 1996), by Mike Gleason, NCEMRSoft. Tip: Remote and local filename completion is available. Use the tab key. Thanks to Tim MacKenzie (t.mackenzie@trl.oz.au) Trying to connect to ftp.inf.utfsm.cl... Please read the file README.html it was last modified on Wed Apr 10 03:34:53 1996 - 348 days ago Guest login ok, access restrictions apply. inf:/> cd /pub/utfsm/perl inf:/pub/utfsm/perl> dir total 12 drwxr-xr-x 5 0 1 512 Mar 20 21:53 . drwxr-xr-x 9 0 1 512 May 29 1996 .. -rw-rw-rw- 1 0 1 189 Jun 21 1996 .FSP_CONTENT -rw-r--r-- 1 0 1 208 Sep 15 1995 .cache -rw-r--r-- 1 0 1 875 Aug 30 1995 .cache+ drwxr-xr-x 3 0 230 512 Mar 20 21:55 majordomo lrwxrwxrwx 1 0 1 30 Jun 8 1996 majordomo-www.tar.gz -> m ajordomo/majordomo-www.tar.gz drwxr-xr-x 2 0 1 512 Dec 26 1995 nw-gw lrwxrwxrwx 1 0 1 22 Nov 5 1995 nw-gw.tgz -> nw-gw/nw-gw- 0.2.tar.gz drwxr-xr-x 2 2122 230 512 Jun 8 1996 webcopy lrwxrwxrwx 1 0 1 29 Nov 17 15:47 webcopy.tar.gz -> webcopy /webcopy-0.98b7.tar.gz lrwxrwxrwx 1 0 1 29 Nov 17 15:47 webcopy.tgz -> webcopy/we bcopy-0.98b7.tar.gz inf:/pub/utfsm/perl> bin Transfer type is I. inf:/pub/utfsm/perl> get webcopy.tgz Receiving file: webcopy.tgz 100% 0 =============================================> 14495 bytes. ETA: 0:00 webcopy.tgz: 14495 bytes received in 0.03 seconds, 496.62 kB/s. inf:/pub/utfsm/perl> bye Saving new bookmark named "inf" in your host file, pointing to <URL:ftp://ftp.inf.utfsm.cl//pub/utfsm/perl/>. 13:01:38 vparada@inti:2$ |
Figura 2.2: Sesion FTP desde un terminal ASCII