Francisco J. 曹 Tsao Santín : PureFTPd

Principal :: Índice de Páginas :: Acceso
Unas notas sobre la creación de un servidor ftp con PureFTPd:

Instalación

Tan fácil como:
apt-get install pure-ftpd pure-ftpd-common

luego habrá que crear un usuario sin shell ni directorio raiz y un grupo, para ftp. Se creará el directorio donde estará alojado el ftp, y se le dará propiedad del usuario/grupo creados (vg. ftpuser:ftpgroup).

Configuración

En principio, la cosa podría ser tan fácil como lanzar el demonio con un puñado de opciones de configuración. De hecho, es como se hace, por ejemplo, en la plataforma OpenBSD.
Sin embargo, para Debian (y por ende, para Ubuntu), la cosa varía un poco. Básicamente, hay un script intocable en /etc/init.d, que lanza un programa llamado pure-ftpd-wrapper. Este script toma los valores de configuración de los distintos archivos en /etc/pureftpd/conf. Sobre estos valores, hay más información en la página man de pure-ftpd-wrapper, a continuación comento los que he asignado:

Valores de configuración del demonio
 
AltLog clf:/var/log/pure-ftpd/transfer.log Asignación de un archivo de log del demonio
ChrootEveryone yes Enjaulado de todos los usuarios
LimitRecursion 2000 8 Límite de archivos y directorios a mostrar en un listado recursivo (para evitar ataques DoS
MaxClientsNumber 15 Límite del número de usuarios conectados a la vez
MaxClientsPerIP 5 Límite del número de usuarios conectados desde la misma dirección
MaxIdleTime 20 Minutos en los que se desconecta por inactividad
MinUID 1000 Mínimo identificador de usuario aceptado para conexión
NoAnonymous yes Prohibe el acceso anónimo al sistema
PAMAuthentication no No hay autenticación por PAM
PureDB /etc/pure-ftpd/pureftpd.pdb Indica que se autenticará con una base de datos propia del programa
UnixAuthentication no No hay autenticación standard (sólo usuarios virtuales)
PassivePortRange 42000 43000 Rango de puertos para el modo pasivo


Administración de usuarios

Los usuarios se administran con un comando básico, pure-pw, al que se le añaden parámetros para que añada, modifique, o borre usuarios. Por ejemplo, para crear el usuario litoral, cuya raíz del sistema está en /home/ftp/litoral, ejecutamos:

~# pure-pw useradd litoral -u ftpuser -d /home/ftp/litoral

~# pure-pw mkdb

 
Cada vez que hacemos una modificación en la base de datos, tenemos que ejecutar el segundo comando, para que tengan efecto los cambios. Se pueden ajustar otros parámetros como el ancho de banda máximo, número de ficheros por conexión, etc.
Se adjunta el script para iptables del servidor, con los ajustes para ftp (y para algunas otras cosas)
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.1519 seconds