Вы находитесь на странице: 1из 4

4 El servicio FTP

El servicio FTP nos va a permitir compartir (en modo slo lectura, o bien en lectura/escritura) uno o varios de los directorios de nuestro equipo, y tambin posibilitar el que los usuarios del sistema operativo puedan compartir los archivos de su carpeta personal. La ventaja del servicio FTP es que es un mecanismo bidireccional, lo que nos permite bajar y tambin subir archivos (siempre que el servidor est congurado para tal n). Al igual que ocurre con la mayora de los servicios de Internet, el servicio FTP funciona mediante un esquema cliente/servidor, segn el cual los clientes FTP se conectan a los servidores FTP para poder bajar o subir archivos. En Internet existen multitud de servidores FTP que permiten la conexin annima, es decir, sin necesidad de tener una cuenta de usuario en el equipo que hace de servidor FTP. Generalmente, esos servidores FTP annimos slo nos permite el acceso a ciertos archivos pblicos, y la prctica totalidad de las veces nos impide subir archivos. Por su proximidad, su calidad y la cantidad de archivos que contienen, podramos citar los servidores FTP de RedIRIS y CICA. Sus direcciones son, respectivamente, ftp://ftp.rediris.es y ftp://ftp.cica.es. El servicio FTP utiliza los puertos TCP no 20 y 21, por lo que nuestro servidor debe tener el acceso permitido a esos puertos a travs de posibles cortafuegos o routers. En Ubuntu tenemos disponibles varios programas que tienen la funcin de servidores FTP. Los ms usados son vsftpd y proftpd (los paquetes que contienen esos programas se llaman justamente as). Nosotros vamos a usar ste ltimo.

4.1.

Instalacin de ProFTPD

Para instalar el servidor proftpd, basta con instalar el paquete proftpd desde cualquiera de los clientes de gestin de paquetes (Synaptic, aptitude, apt-get, etc.). Durante la instalacin del mismo, es posible que se nos pregunte si queremos ejecutar el servidor a partir del superdemonio inetd, o bien como un proceso independiente. En general, si el servicio se va a usar relativamente poco, es ms eciente usar la opcin del inetd, y si va a ser un servicio usado con mucha frecuencia, interesa ms ejecutarlo como un demonio independiente. La instalacin del paquete, adems, crear un usuario ftp y una carpeta personal para dicho usuario en /home/ftp. Ese directorio es el lugar predeterminado para situar los archivos pblicos de nuestro servidor FTP. Si accedemos a dicho directorio, veremos que slo nos encontramos un archivo llamado welcome.msg, que contiene el mensaje de bienvenida que el servidor FTP mostrar a los usuarios que se conecten a

45

l. Podemos modicarlo a nuestro gusto. Nuestro servidor, recin instalado, no admite conexiones annimas. Slo pueden conectarse a l aquellos usuarios que tengan una cuenta en el equipo servidor. Eso puede cambiarse modicando la conguracin de proftpd. Por ahora, podemos comprobar que nuestro servidor funciona intentando conectarnos usando nuestro propio nombre de usuario y contrasea. Por ejemplo, supongamos que el usuario es usuario y que la contrasea es secreto. Podemos usar el cliente FTP que trae el sistema operativo para probar el correcto funcionamiento del servidor: usuario@servidor:~$ ftp localhost Connected to localhost. 220 ProFTPD 1.3.0 Server (Debian) [127.0.0.1] Name (localhost:usuario): usuario 331 Password required for usuario. Password: secreto 230 User usuario logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> Hemos entrado en el servidor mediante el protocolo FTP, usando el cliente ftp que trae el sistema operativo. Como hemos usado un nombre de usuario (y no hemos entrado de forma annima), ahora mismo el directorio actual en el que nos encontramos es precisamente la carpeta personal del usuario, es decir, /home/usuario. Desde ah, ya podemos enviar rdenes FTP a nuestro servidor. Por ejemplo, la orden dir nos muestra un listado con el contenido del directorio actual, y con cd directorio nos cambiamos al directorio especicado. Una manera ms grca de hacerlo es usar la opcin Lugares Conectar con el servidor. . . . Nos aparecer una ventana donde se nos preguntar:: Tipo de servicio: ah podemos elegir entre FTP pblico (para servidores FTP annimos) o bien FTP (con login). Seleccionaremos ste ltimo, ya que nuestro servidor FTP an no permite conexiones annimas. Servidor: ah ponemos la direccin de nuestro equipo, en este caso localhost. Carpeta: ah podemos poner la ruta completa al directorio de entrada, es decir, el que nos aparecer nada ms entrar en el servidor FTP. Si no ponemos nada, entraremos por defecto en el directorio raz /, as que lo ms conveniente es indicar ah el directorio personal del usuario, es decir, /home/usuario. Nombre de usuario: ah ponemos usuario, que es el nombre que estamos usando para este ejemplo (en cada caso, habr que poner el nombre del usuario que estis usando en vuestro servidor).

46

Figura 4.1: Conexin por FTP con login Los dems datos son opcionales, as que los dejamos en blanco. Finalmente, pulsamos el botn Conectar, y vemos que en nuestro escritorio se crea un nuevo icono que se llama localhost (o usuario en localhost) Haremos doble clic sobre l, y nos pedir la contrasea del usuario. Al teclearla, pulsaremos en Conectar de nuevo, y nos aparecer una ventana de Nautilus (el explorador de archivos de Gnome) mostrando el contenido de la carpeta personal del usuario, pero usando el protocolo FTP. Desde ah ya podremos copiar y pegar, borrar, renombrar, entrar y salir de carpetas, etc. sta misma tcnica se puede usar perfectamente para cualquier servidor FTP pblico, como el de RedIRIS o el del CICA, seleccionando FTP pblico como tipo de servicio.

4.2.

Conguracin de ProFTPD

Los archivos de conguracin de proftpd se encuentran en el directorio /etc/proftpd. All podemos encontrar dos archivos, que son modules.conf (para activar o desactivar mdulos que amplen la funcionalidad del servidor) y proftpd.conf (el archivo principal de conguracin). Nosotros trabajaremos en ste ltimo. Al abrir el archivo con un editor de textos1 , nos encontramos con una sintaxis muy similar a la del archivo de conguracin de Apache: una lista de directivas asociadas a unos valores. Las directivas ms interesantes son: ServerName: el nombre del servidor (slo a efectos informativos). ShowSymlinks: dene si se deben mostrar los enlaces simblicos o no (por defecto es que s).
1

Recuerda que hay que abrirlo usando sudo, ya que se trata de un archivo de conguracin del sistema.

47

DisplayLogin: el nombre del archivo que se mostrar al usuario cuando se conecte al servidor (normalmente ser welcome.msg). Port: el puerto TCP por el que escuchar el servidor (por defecto es el 21, el estndar). MaxInstances: el nmero mximo de conexiones simultneas a nuestro servidor (por defecto es 30, as que es posible que necesitemos incrementar ese nmero si nuestro servidor necesita soportar muchas conexiones concurrentes). Para hacer que nuestro servidor FTP permita conexiones FTP annimas, tan slo tenemos que descomentar (es decir, quitar el smbolo de la almohadilla # inicial) todas las lneas situadas entre las directivas <Anonymous ~ftp> y </Anonymous>. De esta forma permitiremos el acceso a cualquier usuario, aunque no disponga de cuenta en nuestro servidor, si bien el acceso estar limitado nicamente al contenido del directorio /home/ftp. No debemos olvidar reiniciar el servidor FTP siempre que hagamos cualquier cambio en su conguracin: sudo /etc/init.d/proftpd restart A partir de ese momento ya podemos conectarnos a nuestro servidor de forma annima, si bien slo podremos descargar informacin (no podremos subir archivos). Para poder subir archivos de forma annima, tenemos que congurar adecuadamente nuestro servidor, simplemente descomentando las lneas situadas entre <Directory incoming> y </Directory>. Con esa conguracin le estamos diciendo a nuestro servidor FTP que permita que los usuarios annimos puedan subir archivos dentro del directorio /home/ftp/incoming, aunque estos usuarios no podrn, en cambio, descargar los archivos all contenidos para ver lo que contienen. Esta es una buena forma de permitir la recogida de informacin sin afectar a la privacidad de la misma (podra usarse, por ejemplo, para la recogida de ejercicios o trabajos de nuestros alumnos, aunque para eso sera mejor montar un Moodle).

48