El servicio FTP está basado en el protocolo FTP, del inglés File Transfer Protocol o Protocolo de transferencia de ficheros en redes tipo TCP/IP. El funcionamiento del servicio FTP por defecto utiliza el puerto TCP 20 para la transferencia de datos y el puerto TCP 21 para el control. La forma de transmisión es muy rápida, pero no es segura (aunque se puede cifrar en el protocolo FTPS).

Configuración del servicio de transferencia de archivos. Permisos y cuotas

Permisos

Los usuario suben los archivos al servidor FTP con unos permisos que luego pueden cambiar (si tienen la autorización para ello con chmod, ver el cuadro recuerda de la derecha).

PermisoExplicación
– – – = 0no se tiene ningún permiso
– – x = 1solo permiso de ejecución
– w – = 2solo permiso de escritura
– w x = 3permisos de escritura y ejecución
r – – = 4solo permiso de lectura
r – x = 5permisos de lectura y ejecución
r w – = 6permisos de lectura y escritura
r w x = 7todos los permisos establecidos, lectura, escritura y ejecución

También existe la posibilidad de establecer los permisos por defecto que adoptaran los archivos subidos.

Cuotas

Uno de los parámetros configurables en los servidores FTP es la cuota o espacio máximo de trabajo en el disco duro, que tiene asignado cada usuario y que no puede sobrepasar.

Tipos de usuarios y accesos al servicio

El acceso a un servidor FTP requiere un nombre de usuario y una contraseña que debe de ser dado de alta en el servidor.

Para evitar tener que hacer una cuenta por cada persona que quiera conectarse al servidor FTP, existe la posibilidad de crear unos usuarios genéricos o particulares: invitados (guest) y anónimos (anonymous).

Los usuarios dados de alta en el servidor o usuarios locales pueden acceder a su carpeta de configuración normal (/home/usuario o /usr/usuario) o bien puede restringirse su movimiento a una carpeta concreta.

El acceso de los usuarios anónimos dependen del servidor (guest, anonymous o ftp suelen ser los nombres más comunes por defecto), estos usuarios no suelen tener muchos permisos, aunque se les puede permitir leer y bajar archivos, pero también podría tener derechos para subir, renombrar, crear carpetas…etc.

Modos de conexión del cliente

Existen dos tipos de modos de conexión FTP. En el modo activo el canal de datos en el servidor siempre es el puerto 20 mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024, que propone el cliente y el servidor acepta. Este modo es inseguro y suele dar problemas con los cortafuegos.

En el modo pasivo, el cliente se comunica por el canal de control por defecto y el servidor le indica cuál será el nuevo puerto de control (siempre superior a 1024, por ejemplo el 1063) y acatará el puerto siguiente (el 1064 en nuestro ejemplo) como el de datos.

Protocolo seguro de transferencia de archivos

  • También conocido como FTP sobre TLS, FTP sobre SSL, FTP/SSL, FTP-SSL, FTP-ES y FTP seguro.
  • FTPS es un nombre usado para abarcar un número de formas en las cuales el programa FTP puede realizar transferencias de ficheros seguras. Cada forma conlleva el uso de una capa debajo del protocolo estándar FTP para cifrar los datos.

Utilización de herramientas gráficas

Utilización del servicio de transferencia de archivos desde el navegador

En el protocolo FTP existen dos tipos de transferencia, el ASCII y el binario.

Por defecto todo se transmite en binario, es decir bit a bit (ceros y unos). Este método es más lento que el ASCII, que permite transmitir archivos byte a byte, pero tiene el inconveniente de «destruir» archivos durante la transmisión en sistemas operativos con distintos tipos de sistemas de archivo.

El modo binario se recomienda en general, y en particular para archivos de tipo ejecutable (exe, com,…), video, imágenes de sistemas de almacenamiento (iso,…), archivos de aplicaciones (doc, xls, mdb…), archivos empaquetados y/o comprimidos (zip, tar,…)…, mientras que el modo ASCII se recomienda solo para texto puro (txt, html, asp, php, xml, pdf, eps, ps…).

Utilización del servicio de transferencia de archivos en el proceso de despliegue de la aplicación Web

Muy interesante realizar carpetas calientes y automatizar la subida de archivos.