User Tools

Site Tools


informatica:linux:pure-fptd

This is an old revision of the document!


Servidor de ftp pure-ftpd

ftp pure-ftpd

Se trata de un servidor ftp ligero (creo), que permite usuarios virtuales, es decir, que no requiere cuentas de sistema, aunque las puede soportar y que también puede (o no) 'enjaular' al usuario en su directorio, de forma que no pueda salir de él.

Instalación

(Todo como 'root')

1. Actualizar la lista de paquetes e instalar pure-ftpd:

sudo aptitude update; sudo aptitude install pure-ftpd

2. Contestar 'S' o 'Y' a todas las preguntas

Una vez instalado, el servidor ya está corriendo, y se arrancará de forma automática si se reinicia la máquina

Creación de usuarios

1. Creamos el grupo de sistema 'ftp' (si no existe, claro):

sudo groupadd ftp

2. Creamos el usuario de sistema 'ftp' (si no existe, claro) sin acceso a consola, y lo asignamos al grupo 'ftp':

sudo useradd -g ftp -d /dev/null ftp

3. (OPCIONAL) Asignamos grupos suplementarios al usuario ftp, en mi caso mldonkey:

sudo usermod -G ftp,mldonkey ftp

4. Creamos el usuario virtual (solo de pure-ftpd), que irá vinculado al usuario de sistema 'ftp':

sudo pure-pw useradd usuario_pure -u ftp -g ftp -d /ruta/acceso/usuario/pure -f /etc/pure-ftpd/pureftpd.passwd -t 10

En el ejemplo hemos limitado su capacidad de descarga a 10 Kb/s

5. Damos permisos de lectura/escritura:/etc/pure-ftpd/pureftpd.passwd

sudo chown -R ftp:ftp /ruta/acceso/usuario/pure

6. Refrescamos la base de datos de usuarios virtuales de pure-ftpd:

sudo pure-pw mkdb

La base de datos con los usuarios virtuales está en '/etc/pure-ftpd/pureftpd.pdb'

Especificar el uso de usuarios virtuales

Por defecto al arrancar pure-ftpd, o al reiniciar el servicio ('/etc/init.d/pure-ftpd restart') la autentificación la deja en manos de cuenta de sistema. Para forzar el uso de usuarios virtuales:

(Todo como root)

1. Entrar en el directorio donde se especifica el orden de sistemas de autentificación:

cd /etc/pure-ftpd/auth

2. Crear un enlace simbólico al fichero que indica el uso de usuarios virtuales:

sudo ln -s ../conf/PureDB 60puredb

Lógicamente '60' debe ser el número inferior en ese directorio para que sea la primera opción.

3. Reiniciamos el servicio:

sudo /etc/init.d/pure-ftpd restart

Fijar puertos

  • Cada usuario concurrente consume 2 puertos
  • Es mejor por si las moscas abrir ambos TCP/UDP en el cortafuegos si el servidor FTP esta detras de uno o mas dispositivos a traves de NAT (router, hipervisor KVM, etc…). IMPORTANTE Solo funciona si el cliente DESACTIVA el uso de FTP pasivo
sudo su
echo "30000 30001" > /etc/pure-ftpd/conf/PassivePortRange
sudo /etc/init.d/pure-ftpd restart
informatica/linux/pure-fptd.1377784302.txt.gz · Last modified: 2015/04/13 20:19 (external edit)