1. Instalación
Probado en un GNU/Linux Debian Sarge kernel 2.6.7-1-386
Después de muchos intentos y viendo que mi FTP SERVER (pure-ftp) funcionaba impeque para anonimos y usuarios del sistema (/home) pero no para mis usuarios virtuales, descubrí el problema y pongo aca TODOS los pasos a seguir para crear dos usuarios virtuales.
1.1 Supuestos
Cuenta virtual1 : mp3
- Password de usuario1 : mp3
- Ruta de acceso : /ftp/mp3 (ruta ya creada anteriormente)
Cuenta virtual2 : video
- Password de usuario2 : video
- Ruta de acceso : /ftp/videos (ruta ya creada anteriormente)
Grupo de FTP : ftpgroup
Usuario FTP : ftpuser
NOTA2: Se supone que ya tenemos instalado el paquete pure-ftpd, de no ser asi hacemos
apt-get install pure-ftpd
Hacemos:
addgroup ftpgroup
para crear el grupo ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
Se crea el usuario ftpuser dentro del grupo ftpgroup, con shell /etc y con su home directory en /dev/null.
N. del R. : esta medida es para que no tenga una shell por defecto en caso que intenten conectarse (ssh, etc).
chown -R ftpuser /ftp
Damos como dueño de nuestro FTP a ftpuser
chgrp -R ftpgroup /ftp
Damos como grupo de “todo” nuestro FTP a ftpgroup
N. del R.: Tambien se puede lograr con
chown ftpuser:ftgroup /ftp
o bien
chown ftpuser: /ftp
Agregamos al usuario mp3 a nuestra base de datos
pure-pw useradd mp3 -u ftpuser -g ftpgroup -D/ftp/mp3 -m
(acá nos pedirá el password ‘mp3’ y que lo verifiquemos)
pure-pw useradd video -u ftpuser -g ftpgroup -D/ftp/mp3 -m
Agregamos al usuario video a nuestra base de datos (acá nos pedirá el password ‘video’ y que lo verifiquemos)
Listo, ahora paso a explicar algunas de las cosas que pusimos en nuestras sentencias de pure-pw
- -u (uid) id del usuario que tendrá acceso a /ftp
- -g (gid) id del grupo que tendrá acceso a /ftp
- -D (chroot) No permite que el usuario se mueva desde su ruta hacia a tras (por ejemplo: /ftp/mp3 sera su / para mp3)
- -m (mkdb) Actualiza la base de datos de forma automatica y no es necesario hacer un pure-pw mkdb despues.
Y por último nos va quedando algo muy simple que es como arrancar el servicio pure-ftpd que es el verdadero problema. Aparte de todos los switches que ustedes pongan en su arranque de pure-ftp, deben poner esta linea mágica
-l /etc/pure-ftpd/pureftpd.pdb
Con este switch le dices que cuando arranque, parta con soporte para la base de datos que tiene a los usuarios virtuales.