Servidor FTP con Pure-ftpdEn este tutorial vamos a explicar como podemos configurar un servidor ftp con pure-ftpd.He elegido este servidor porque es muy sencillo de configurar (toda la configuración se hace mediante los parámetros que le pasamos en el arranque), tiene muchas opciones útiles como cuotas, usuarios virtuales, etc, y es muy seguro. Con pure-ftpd tendremos en poco tiempo un potente servidor ftp que podremos configurar de una forma muy flexible de manera muy sencilla. InstalaciónPara instalarlo, lo más recomendable es bajar los fuentes de la página oficial: http://www.pureftpd.orgUna vez descargados lo compilaremos. El hecho de compilarlo, no debe asustarnos, ya que en este caso no nos encontraremos problemas de dependencias, y así especificaremos explícitamente qué opciones querremos que nuestro servidor ftp soporte. Descargaremos la última versión, pure-ftpd-1.0.20.tar.gz en mi caso, la descomprimiremos y entraremos en el directorio que nos ha creado: $ tar -xvzf pure-ftpd-1.0.20.tar.gz$ cd pure-ftpd-1.0.20Ahora procederemos a compilarlo; para ello leeremos el fichero INSTALL que hay en el mismo directorio y veremos que nos dice que son instrucciones genéricas, con lo que en un principio haciendo el ./configure; make; make install ya lo tendríamos instalado. De todos modos queremos afinar la compilación, así que miraremos que opciones podemos pasarle al configure para hacerlo a nuestro gusto. Haremos lo siguiente:$ ./configure --helpY veremos todas las opciones que podemos indicarle. En nuestro caso (evidentemente aquí cada uno puede hacer lo que crea mejor, todo depende del uso que vaya a darse al servidor) elegiremos las siguientes:
$ ./configure --without-inetd --with-puredb --with-ratios --with-quotas --with-ftpwho --with-throttling --with-language=spanish$ make$ su# make installUna vez hecho esto, ya tenemos nuestro servidor ftp instalado en /usr/local/sbin/pure-ftpd (esto nos lo explica también en el README). ConfiguraciónComo hemos dicho al principio, la configuración del servidor se hace exclusivamente en el paso de parámetros al arrancar el servidor. Antes de ello por eso, vamos a configurar los usuarios virtuales.Usuarios virtualesLos usuarios virtuales son usuarios que sólo existirán para el ftp. Pero para ello, necesitamos asociar estos usuarios virtuales del ftp con un usuario del sistema para que puedan operar. Entonces, lo primero que haremos será crear un usuario sin privilegios en el sistema, y asociaremos los usuarios virtuales a este usuario.Recordad que para poder utilizar los usuarios virtuales debemos haber compilado el programa con la opción --with-puredb Creando un usuario en el sistema:Crearemos el usuario: ftpuser y el grupo ftpgroup por ejemplo (deberemos hacerlo como root):# groupadd ftpgroup# useradd ftpuser -g ftpgroup -d /dev/null -s /bin/falseCon esto hemos creado un grupo ftpgroup y un usuario ftpuser que pertenece a ese grupo. Además, el usuario tendrá como directorio home /dev/null (es decir, no tendrá) y como shell por defecto /bin/false (para que no tenga una shell válida). Hemos de asegurarnos de que la shell que indiquemos aparezca en el fichero /etc/shells. Si no es así la añadiremos nosotros al final del mismo. Creando y manipulando usuarios virtuales:Para la configuración de los usuarios virtuales utilizaremos el comando: pure-pwEste comando mantiene la base de datos de los usuarios virtuales. Vamos a añadir un usuario virtual (como root): # pure-pw useradd nacx -u ftpuser -g ftpgroup -d /home/ftpusers/nacx -t 20 -T 10Nos pedirá una contraseña para ese usuario. Una vez introducida, ya habremos creado para el ftp el usuario nacx, que tendrá como directorio de inicio (cuando se conecte al ftp) el directorio /home/ftpusers/nacx. Además, hemos establecido que tendrá un ancho de bajada de 20kb/s y de subida de 10kb/s (para poder usar estos parámetros debemos haber compilado con la opción --with-throttling. También hemos asociado este usuario virtual con el usuario del sistema previamente creado (esto deberemos hacerlo con todos los usuarios que creemos). Una vez que hemos creado todos los usuarios (o cada vez que modifiquemos la información de alguno) hemos de actualizar la base de datos de los usuarios virtuales con el comando: # pure-pw mkdbEsto guarda la información en el fichero /etc/pureftpd.pdb Con esto ya tenemos nuestro servidor ftp preparado para recibir conexiones de estos usuarios virtuales. Para cualquier duda sobre como borrar o modificar usuarios virtuales, podéis consultar el: man pure-pw Arrancando el servidorCon todo configurado ya sólo nos queda arrancar el servidor. Podemos ver una lista completa de las opciones de que disponemos haciendo un man pure-ftpd. Aquí ponemos un ejemplo de cómo arrancarlo con una configuración más o menos usual, y explicaremos esas opciones.Arrancaremos el servidor con los siguientes parámetros: # /usr/local/sbin/pure-ftpd -lpuredb:/etc/pureftpd.pdb -A -B -c 5 -C 2 -d -E -i -j -u 100Las opciones que hemos considerado son:
Creando un script de inicio:Como puede ser bastante incómodo tener que poner el comando entero cada vez que queremos arrancar el servidor, vamos a ponerlo en un script para facilitar la tarea. Un ejemplo podría ser el siguiente:#!/bin/bashcase "$1" in
;;*)
;;
esacexit 0Sería práctico sería también poner comentados (con al carácter # delante) en alguna parte del fichero los significados de los parámetros que le pasamos al programa. Podemos guardar este script en el directorio /etc/init.d/ para ponerlo como demonio y que se ejecute cada vez al arrancar el sistema. O si no podemos utilizarlo para arrancar/parar el servidor manualmente con (estando en el mismo directorio que el script): # ./nombre_script start# ./nombre_script stopAhora ya tenemos un completísimo servidor ftp, seguro, robusto y que además es tan fácil de configurar como añadir o quitar algúin parámetro el script que nos hemos hecho para arrancar el servidor. Tutorial elaborado por Nacx para ADSLAyuda.com |
HerramientasADSLPublicidadEncuestaRedes 2.0Entrevistas
Artículos de opinión
Routers WirelessRouters EthernetCategorias |