Antes de configurar el servidor de FTP, hemos de tener claro cual de los diferentes métodos de implementación que soporta vamos a utilizar:
sistema de usuarios: usuarios de sistema, usuarios virtuales,
sistema de validación: passwd(sistema), pam (Pluggable Authentication Modules), ftpusers (proftpd passwd propio), usuarios anónimos.
En nuestro caso utilizaremos una validación sobre el fichero ftpusers que crea el ProFTPd para validad usuarios virtuales y después, por ese orden, usuarios de sistema como «masters» del universo FTP.
Crearemos usuarios virtuales «padre» que tendrán acceso a las «home» de otros usuarios virtuales «hijos».
Además, los usuarios han de quedar «aislados» del path real para quedar recluidos en su propia «home» virtual (chroot). Esto tiene implicaciones en nuestro caso, ya que la manera de acceder a los «hijos» era a través de enlaces simbólicos pero con el uso de CHROOT los soft links no funcionan.
Pasando a la configuración de proftpd
demonio: debemos decidir es si vamos a correr el servicio como «standalone» o «inetd».
credenciales: lo ideal es crear un usuario / grupo (o nogorup) al cual el demonio conmutará después de realizar el «start up» (que necesariamente ha de ser con privilegios de root)
log in: por defecto, proftpd lee el fichero de usuarios del sistema. En nuestro caso además configuraremos el sistema virtual de usuarios (usuarios que no existen en el sistema pero si para validar en el
FTP). Hay que tener en cuenta que si no hay sección <Anonymous />, no hay acceso anónimo al
FTP ;)
restricciones: con las directivas <Directory /> y <Limit />