Eu usei o CrushFTP para fazer isso. Suporta um número de protcols e permite o acesso apenas a pastas associadas ao login. Muitos outros recursos para listar aqui. Ele é executado no Windows e outros sistemas operacionais. O Eval está disponível e o suporte é ótimo mesmo durante o período de avaliação.