FTP(File Transfer Protocol,文件传输协议) :
              C/S应用层协议。
              由服务端和客户端实现文件传输

     FTP连接端口:
              20 : 建立数据连接,传输文件数据。
              21 : 建立控制连接,传输FTP控制命令。

     FTP数据连接模式:
           主动模式:
                    服务器主动发起数据连接。

                    客户端向服务器先建立FTP控制连接,

                    服务器向客户端再发送请求并建立数据连接。
           被动模式:
                    服务器被动等待数据连接,
                    客户端向服务器先建立控制连接,

                    服务器以PASV命令告知客户端,

                    客户端向服务器发送请求并建立数据连接。

   根据是否进行字符切换,分为:
           文本模式:
                    ASCII(美国信息交换码),用于纯文本文件的传输。
           二进制模式:
                    Binary模式,适合传输程序,图片等非纯文本字符的文件。


   FTP用户类型:
          匿名用户:
                ftp或anonymous,提供公共文件的下载。
          本地用户:
                使用本机的系统用户账号进行验证。
                指除了匿名用户以外的其他系统用户。
          虚拟用户:
                不使用系统用户账号,

                而使用位于独立的用户数据库文件中的FTP用户账号。
                提高了安全性。

vsftpd官网:
   http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd

vsftpd的配置文件:
     用户列表文件:
         ftpusers文件:
                    列出的用户将禁止登录vsftpd服务器。

                    默认包括系统运行的特殊用户。
         user_list文件:
                    用户是否能登录,
                    取决于主配置文件vsftpd.conf的配置。
                    userlist_enable=YES :
                           文件生效。能登录。
                    userlist_deny=YES:
                           禁止此列表的用户登录。
                    userlist_deny=NO:
                           允许列表中的用户登录。
      区别:
            ftpusers文件是黑名单。
            user_list 可灵活控制的用户列表。

主配置文件vsftpd.conf

匿名用户配置项:
    anonymous_enable=YES  : 

                  是否允许匿名访问
    anon_umask=022  :  

                  设置匿名用户所上传文件的默认权限掩码值
   anon_root=/var/ftp : 

                  设置匿名用户的FTP根目录。
   anon_upload_enable=YES :
                  是否允许匿名用户上传文件。
   anon_mkdir_write_enable=YES :
                  是否允许匿名用户有创建目录的写入权限。
   anon_other_write_enable=YES :
                  是否允许匿名用户有其他写入权限。
   anon_max_rate=0 :
                  限制匿名用户的最大传输速率。字节/秒。

本地用户配置项 :
       local_enable=YES :

                  是否允许本地系统用户访问。
       local_umask=022 :

                  设置本地用户所上传文件的默认权限掩码值。
       local_root=/var/ftp :

                  设置本地用户的FTP根目录。
       chroot_local_user=YES :

                  是否将FTP本地用户禁锢在宿主目录中。
       local_max_rate=0 : 

                  限制本地用户的最大传输速率,字节/秒。

全局配置项 :
       listen=YES :

                监听服务。
       listen_address=0.0.0.0  :

                监听FTP服务的IP地址。
       listen_port=21 :

                监听服务的端口。
       write_enable=YES  :

                启用任何形式的写入权限。
       download_enable=YES :

                是否允许下载文件。
       dirmessage_enable=YES  :

                用户切换进入目录时显示.message文件的内容。
       xferlog_enable=YES :

                启用xferlog日志,默认记录到/var/log/xferlog.
       xferlog_std_format=YES :
                启用标准的日志格式。
       connect_from_port_20=YES :

                允许服务器主动模式。
       pasv_enable=YES :

                允许被动模式连接。
       pasv_max_port=24600 

                设置用于被动模式的服务器最大端口号。
       pasv_min_port=24500 :

                设置用于被动模式的服务器最小端口号。
       pam_service_name=vsftpd  :

                设置用于用户认证的PAM文件位置(/etc/pam.d目录)
       userlist_enable=YES  :

                是否启用user_list用户列表文件。
       userlist_deny=YES  :

                是否禁止user_list列表文件中的用户账号。
       max_clients=0  :

                最多允许多少个客户端同时连接。
       max_per_ip=0  :

                对来自同一个IP地址的客户端,最多允许多少个并发连接。
       tcp_wrappers=YES :

                是否启用TCP_Wrappers主机访问控制。