This is an old revision of the document!
Table of Contents
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