Isso pode ser feito facilmente com o PAM.
Se o seu disto não vier com o PAM, você precisará pegar uma cópia, já que o vsftpd usa o PAM para autenticação de usuários virtuais.
Existe um pacote debian para o pam_pwdfile já disponível, alternativamente, faça o download e compile-o, se a sua cópia do linux não for incluída:
apt-get install libpam-pwdfile
Primeiro, crie um arquivo de senha para o primeiro usuário:
htpasswd -c /etc/vsftpd/passwd user1
E então:
htpasswd /etc/vsftpd/passwd user2
Em seguida, você precisa editar o arquivo de configuração do vsftpd /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/sites/$USER
chroot_local_user=YES
hide_ids=YES
Finalmente, você precisa configurar o PAM para usar o arquivo de senhas, então edite o /etc/pam.d/vsftpd
# Customized login using htpasswd file
auth required pam_pwdfile.so pwdfile /etc/vsftpd/passwd
account required pam_permit.so
Não se esqueça de reiniciar o vsftpd, e isso é muito bonito!