带验证,此文档我还没有实际操作过,只是我看到一本书上写的关于vsftpd的,我感觉不错,所以决定写上来。
FTP(File Transfer Protocol,文件传输协议),是典型的C/S结构的应用层网络协议。
1.FTP连接及传输模式:
FTP服务器默认使用TPC协议的20,21端口与客户端进行通信。21端口用于建立控制连接,并传输FTP控制命令;20端口用于建立数据连接,并传输文件数据。

根据FTP服务器在建立数据连接过程中的主、被动关系,FTP数据连接分为主被动模式,二者区别如下:

  • 主动模式:这种模式下服务器主动发起数据连接----->首先由客户端同服务器的21端口建立FTP控制连接,当需要传输数据时,客户端以PORT命令告知服务器“我打开了某端口,你过来连接我”,此时服务器从20端口向客户端的该端口发送请求并建立数据连接。
  • 被动模式:这种模式下服务器被动等待数据连接,如果客户端所在网络的防火墙禁止主动模式连接,通常会使用被动模式----->首先由客户端向服务器端的21端口建立FTP控制连接,当需要传输数据时,服务器以RASV命令告知客户端“我打开了某端口,你过来连接我”,此时客户端向服务器的该端口(非20)发送请求并建立数据连接。
2.FTP用户类型
  • 匿名用户(anonymous)有无密码都可以访问
  • 本地用户(localuser)需要密码
  • 虚拟用户(virtualuser)需要密码,独立数据库文件,更安全
安装vsftpd
yum -y install vsftpd

用户控制列表文件
  • ftpuser文件:该文件中包含的用户账户将被禁止登录vsftpd服务器,不管该用户是否在user_list文件中出现。通常root,bin,daemon等特殊用户在该列表中
  • user_list文件:该文件中包含的用户账户可能被禁止登录,也可能被允许登录,具体要看主配置文件----vsftpd.conf-----中决定,前提是----userlist_enable=YES----- 1)什么情况下此列表中的用户不能登录?当主配置文件中---userlist_deny=YES---仅禁止此列表中的用户登录,其他用户不受限制。2)什么情况列表中用户能登录呢?当主配置文件中-----userlist_deny=NO---仅此列表中的用户能登录
  • ftpuser文件为vsftpd服务器提供了一份用于禁止登录的FTP用户列表,而user_list文件提供了一份可灵活控制的FTP用户列表,这两个表结合起来使用为vsftpd服务提供了良好的控制基础
服务主配置文件