目录
FTP协议是什么
FTP(File Transfer Protocol) ,是一种处于应用层的,用于文件传输的协议。是基于TCP协议的应用层协议,用于在网络上传输文件。
FTP协议的端口号20和21的区别
ftp端口号20和21的区别是21端口用于连接,20端口用于传输数据。进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。
默认情况下FTP协议使用TCP端口中的20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
vsftpd服务程序
vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux系统上的FTP服务程序,不仅开源而且免费,还具有很高的安全性、传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点。
vsftpd 作为更加安全的文件传输的服务程序,允许用户以三种认证模式登录到FTP服务器上。
-
匿名开放模式
-
本地用户模式
-
虚拟用户模式
# 安装vsftpd服务
[root@localhost ~]# yum install vsftpd -y
# 清空iptables防火墙的默认策略
iptables防火墙默认禁止了FTP传输协议的端口号,因此在正式配置vsftpd服务程序之前,需要清空iptables防火墙的默认策略
[root@localhost ~]# iptables -F
# 主配置文件:/etc/vsftpd/vsftpd.conf
由于主配置文件中大部分内容是注释信息,我们可以通过grep命令加上-v参数,过滤出没有包含井号的参数行(即过滤出所有的注释信息),然后将过滤后的参数行通过输出重定向写回原始的主配置文件中
[root@localhost vsftpd]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
[root@localhost vsftpd]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[root@localhost ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES