Como ya comenté en el artículo anterior «Que es y como instalar un servicio FTP en Ubuntu«, una de las grandes ventajas que nos ofrece Ubuntu y casi cualquier distribución Linux, es la posibilidad de montar diferentes servicios que nos ayuden en nuestro quehacer diario. Entre los diferentes servicios que podemos instalar y habilitar en es un servicio FTP, tal y como indiqué en el artículo comentado anteriormente. En este artículo, comentaré como configurar un servicio FTP.

Configurar un servicio FTP

Herramientas gráficas para configurar un servicio FTP

Para la configuración de servidores FTP existen diversas herramientas gráficas.

El servidor vsftpd para sistemas Linux se distribuye sin herramienta gráfica de configuración. Sin embargo existen herramientas gráficas para administrar este servidor.

WEBMIN. Esta herramienta, que se puede utilizar para configurar otros servidores, puede incluir un módulo de administración y configuración del servidor vsftpd. Dado que este módulo está desarrollado por terceros, hay que descargar primero el software del módulo: vsftpd.tar.gz

Después de descargar el archivo, hay que instalar el módulo de WEBMIN.

Para ello, ejecuta webmin y accede al menú webmin > configuración webmin > modulos webmin > instalar desde archivo local, seleccionas el archivo e instala el módulo.

Como apunte, he de decir, que antes hay que instalar webmin, para ello nos dirigimos a la web www.webmin.com y descargamos la aplicación para instalarla en nuestro servidor.

Para administrar el servidor pure-ftpd de sistemas linux, se usa una herramienta específica de configuración y administración del servicio que se llama pureadmin.

Otras configuraciones

Configuración del servicio FTP

A lo largo de este tutorial, que consta de dos partes, has aprendido las principales directivas de configuración del servidor vsftpd.

En este apartado, vamos a ver como se configuran algunos aspectos de funcionamiento del servidor vsftpd, tanto editando el archivo de configuración /etc/vsftpd.conf como trabajando con la herramienta webmin.

A continuación, vamos a ver las directivas que habría que escribir en el archivo de configuración para realizar algunas configuraciones básicas y aplicables al funcionamiento general del servidor.

Si queremos, por ejemplo, que el servidor solo escuche a los clientes por su dirección IP 192.168.14.6 :

listen_adress=192.168.14.6

Si queremos que las conexiones de datos en modo activo se establezcan por un puerto distinto al 20 :

connect_from_port_20=NO ftp_data_port=3033

Si queremos mostrar un mensaje informativo al iniciar un cliente una conexión:

ftpd_banner=Has accedido al servidor FTP de pepito

Si queremos que se registren en el archivo /var/lib/mensajes/vsftpd mensajes sobre las conexiones FTP realizadas:

xferlog_enable=YES vsftpd_log_file=/var/lib/mensajes/vsftpd

Para establecer que el usuario anónimo se llama tiapepica en lugar de ftp :

ftp_username=tiapepica

Tipos de usuarios y accesos al servicio

El servidor vsftpd permite iniciar y acceder al servicio FTP desde cualquier cliente a tres tipos de usuarios:

Usuarios locales . Son usuarios con cuentas de usuario en el sistema servidor . Inician sesiones FTP identificándose con el mismo nombre de cuenta y contraseña que usarían en la máquina servidora para iniciar una sesión de sistema operativo. Cuando inician una sesión FTP, su directorio de trabajo remoto es su directorio personal en el sistema (/home/usuario).

. Son usuarios con cuentas de . Inician sesiones FTP identificándose con el y contraseña que usarían en la máquina servidora para iniciar una sesión de sistema operativo. Cuando inician una sesión FTP, su directorio de trabajo remoto es su directorio personal en el sistema (/home/usuario). Usuarios anónimos . Son nombres de usuarios que pueden iniciar sesiones FTP sin contraseña pero si identificándose con un nombre . Por defecto, vsftpd, admite dos usuarios anónimos llamados anonymous y ftp . El usuario anónimo ftp puede cambiarse en la configuración. Los usuarios anónimos, tienen como directorio remoto FTP el directorio /srv/ftp . Este directorio puede cambiarse con la directiva anon_root

. Son nombres de usuarios que pueden iniciar sesiones FTP . Por defecto, vsftpd, admite dos usuarios anónimos llamados y . El usuario anónimo ftp puede cambiarse en la configuración. . con la directiva anon_root Usuarios virtuales. Son usuarios que no tienen cuentas de usuario en el sistema servidor pero que pueden acceder al servicio FTP. Acceden todos a través de una misma cuenta de usuario del sistema. Cuando haya usuarios virtuales, se puede establecer una configuración de acceso para cada uno de ellos.

Ahora vamos a ver las directivas del archivo de configuración /etc/vsftpd.conf para configurar el acceso al servicio por los usuarios.

Si queremos que los usuarios anónimos no tengan acceso al servicio:

anonymous_enable=NO

Si queremos que los usuarios locales tengan acceso al servicio:

local_enable=YES

Si queremos que los usuarios virtuales no tengan acceso al servicio:

guest_enable=NO

Directorio por defecto

Para modificar el directorio raíz del servicio FTP hay que modificar el archivo /etc/vsftpd/ y añadir la siguiente línea,:

local_root=/direcion/del/directorio

Limitaciones en las conexiones

En el servidor vsftpd se pueden establecer varias limitaciones sobre las conexiones o sesiones establecidas por los clientes.

Puedes comprobar que se pueden establecer varias sesiones simultáneas en un mismo servidor, incluso desde una misma máquina cliente. Para limitar a tres el máximo de conexiones realizadas desde una misma dirección ip de cliente y que puedan tener conexiones simultáneas un máximo de diez clientes:

max_per_ip=3 max_clients=10

Para limitar la máxima velocidad de transferencia de los usuarios anónimos a 20 Kbytes/seg y de los usuarios locales a 50 Kbytes/seg:

anon_max_rate=20000 local_max_rate=50000

Para establecer que se desconecte a un cliente, si está inactivo durante seis minutos

idle_session_timeout=360

Durante la transferencia de un archivo grande, se transfieren grandes bloques de datos. Puede establecerse una limitación para que cuando haya inactividad excesiva durante una transferencia se cancele la transferencia. Para especificar que el tiempo máximo de inactividad durante una transferencia sea de dos minutos:

data_connection_timeout=120

Para establecer en 20 segundos el tiempo máximo que un cliente tiene para responder a una conexión activa:

connect_timeout=20

Conclusiones

Como has podido leer, configurar un servicio FTP es una operación relativamente sencilla, y que nos permite adaptarla totalmente a nuestras necesidades. De esta manera, podemos controlar fácilmente cualquier aspecto relacionado con este servicio y exprimirlo al máximo.