控制连接 21端口 用于发送ftp命令
数据连接 20端口 用于上传下载数据
主动模式
FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据
被动模式
在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
相关配置及介绍
启动服务相关文件
/usr/lib/systemd/system/vsftpd.service/etc/rc.d/init.d/vsftpd
配置文件
/etc/vsftpd/vsftpd.conf
vsftpd 服务器常见配置
命令端口
listen_port=2121 #默认 ftp 为 21 端口
主动模式端口
connect_from_port_20=YES #主动模式端口为 20ftp_data_port=20 #指定主动模式端口
匿名用户
anonymous_enable=YES #支持匿名用户,centos8 默认不允许匿名no_anon_password=YES #匿名用户略过口令检查,默认为 no
匿名用户上传
anon_upload_enable=YES #匿名上传,注意:文件系统权限anon_mkdir_write_enable=YES #匿名建目录setfacl -m u:ftp:rwx /var/ftp/pub #linux 系统的文件权限设置也会影响用户的访问
