FTP做为一种简单的明文文件传输协议,其工做过程有两个工做进程--(命令进程(默认21端口)与数据传输进程); 而数据传输进程又分为主动与被动两种模式: 主动FTP: 命令链接:客户端 >1023端口 -> 服务器 21端口 数据链接:客户端 >1023端口 < - 服务器 20端口 被动FTP: 命令链接:客户端 >1023端口 -> 服务器 21端口 数据链接:客户端 >1023端口 -> 服务器 >1023端口 能够看出两种模式最大的区别就是数据请求是由客户端仍是服务端发出; 而主动模式下服务端请求为一个固定的端口,默认是20(能够经过ftp_data_port 这个参数进行修改); 那主被动模式如何切换? port_enable=NO或者YES 主动模式设置 pasv_enable=NO或者YES 被动模式设置 pasv_max_port,pasv_min_port 这两个参数能够设置被动模式下服务端使用的端口范围。 主动与被动FTP优缺点: 主动FTP对FTP服务器的管理有利,但对客户端的管理不利。由于FTP服务器企图与客户端的高位随机端口创建链接,而这个端口颇有可能被客户端的防火墙 阻塞掉。 被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。由于客户端要与服务器端创建两个链接,其中一个连到一个高位随机端口,而这个端口 颇有可能被服务器端的防火墙阻塞掉。 FTP的用户访问控制: /etc/vsftpd/ 下有两个用户列表文件:ftpuser和user_list ;ftpuser里面的用户默认拒绝访问,user_list也默认拒绝(除非配置了userlist_deny=NO),此时user_list文件中的用户为容许访问。