1:利用yum源安装
         yum install vsftpd
2:修改配置文件
         vi /etc/vsftpd/vsftpd.conf
         修改vsftpanonymous_enable=NO(不开启匿名登录)
         添加
         guest_enable=YES (开启虚拟用户)
         guest_username=www (虚拟用户映射到本地的用户)
         user_config_dir=/etc/vsftpd/vsftpd_user_conf (虚拟用户的配置文件目录)
3:建立虚拟帐号和用户口令文件
a: 建立一个包含虚拟用户名及其口令的文本文件

vi /etc/vsftpd/logins.txt,文件中奇数行为用户名、偶数行设置密码,(可以有多个用户名和密码)如下:
         ftpuser #用户名
         userpassword #密码
b:
生成vsftpd的认证文件:
         db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
如果提示 db_load: command not found,则利用yum安装yum install db4-utils。
         chmod 600 /etc/vsftpd/vsftpd_login.db
    c:建立 user_config_dir 文件目录,并创建以用户名命名的配置文件
         mkdir /etc/vsftpd/vsftpd_user_conf
         vi /etc/vsftpd/vsftpd_user_conf/ftpuser
         virtual_use_local_privs=YES       设置为 YES 时,虚拟用户使用与本地用户相同权限,
设置为 NO 时,虚拟用户使用与匿名用户相同权限
          write_enable=YES
         local_root=/data/www/    #此用户的ftp目录,请确保上面配置的本地用户www对此目录有相应权限。          
4:配置PAM文件
         vi /etc/pam.d/vsftpd输入以下内容并保存
         auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
         account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
5:启动vsftp

         service vsftpd start
6: 防火墙相关皮配置。
              FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (
就是PASV,被动方式)。
主动模式下FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个
通道发送命令,客
户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端
用什么端口接收
数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口
发送数据。
             Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而
         是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客
         户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口
         进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
因为大部分ftp客户端软件都是被动模式,所以我们要根据被动模式开启防火墙中的相应端口。
首先,设置被动模式打开的
vi /etc/vsftpd/vsftpd.conf 添加
pasv_min_port=3300            #设置被动模式的端口范围
pasv_max_port=3310            #设置被动模式的端口范围

        然后更改防火策略
vi /etc/sysconfig/iptables 添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
        -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3300:3310 -j ACCEPT

       最后重启服务使其生效
service vsftpd rstart
service iptables restart
       除了防火墙,selinux也会阻止ftp登录,可以关闭selinux。
------到此vsftp的配置完毕。