Install vsftpd
# apt-get install vsftpd libpam-pwdfile
Configure vsftpd
Add the following line in /etc/vsftpd.conf
virtual_use_local_privs=YES
guest_enable=YES user_sub_token=$USER
local_root=/home/ftp/$USER
chroot_local_user=YES
hide_ids=YES
Edit /etc/pam.d/vsftpd
Comment all the default setting and add the following lines
auth required pam_pwdfile.so pwdfile /etc/vsftpd-passwd
account required pam_permit.so
Create file to store virtual user and password
# htpasswd -c /etc/vsftpd-passwd
Create virtual FTP user
# htpasswd /etc/vsftpd-passwd john
Create user directory
# mkdir /home/ftp/john
Change directory permission
# chmod -R 707 /home/ftp/john
Restart vsftpd service
# /etc/init.d/vsftpd restart
DONE!!!