1. Install vsftp and configure start onboot
#yum install vsftpd
#chkconfig vsftpd on
#service vsftpd on
2. Default configuration
anonymous login and directory is /var/ftp
local account can login and direcotry is their home directory
3. anonymout can login, but disable local account login and add virtual user to login
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES //enable virtual users
pam_service_name=vsftpd_virtual
user_sub_token=$USER
local_root=/your_path/$USER//if you want accout own differe directory, set the option like follow:
//user_config_dir=/etc/vsftpd/users
//create a file named the same as accout and add a line local_root=/your_path, one account, one file
chroot_local_user=YES
hide_ids=YES
4. create virtual user database
#yum install db4-utils db4
#vim /home/virtual_users
user1_name
user1_password
user2_name
user2_password
#db_load -T -t hash -f /home/virtual_users /etc/vsftpd/virtual_users.db
#vim /etc/pam.d/vsftpd_virtual
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
session required pam_loginuid.so
5. create users' directory
#mkdir -p /your_path/$USER //$USER replace user name
#chown -R user:user /your_path/$USER
#service vsftpd restart