Hello,你好哇,我是下一个艺术家!一个在学习Linux系统的小白!
FTP是为了为了解决服务器发起到客户的连接的问题,人们开发了一种不同的连接方式。
一、FTP原理
1.1:ftp介绍
FTP(File transfer protocol )文件传输协议
端口
TCP21:命令
TCP20:数据
1.2原理
默认采用被动模式
被动模式FTP
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P >; 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:
FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接)
FTP服务器命令(21)端口到客户端端口(>1023)(服务器响应客户端命令)
FTP服务器数据端口(>1023)接受客户端端口(>1023)(客户端初始化数据连接到服务器指定的任意端口)
FTP服务器数据端口(>1023)到客户端端口(>1023)(服务器发送ACK响应和数据到客户端的数据端口)
NFS,基于主机认证,只是局域网之间文件传输
FTP,可以实现用户之间的认证
Real:本地用户 ,服务端用户
匿名用户
虚拟(游客)用户
(只需要一台服务机)
1.3 配置文件
主配置文件:
vi /etc/vsftpd/vsftpd.conf
从配置文件
vim /var/ftp/pub
主配置文件详解
anonymous_enable=YES #是否启用匿名用户
local_enable=YES #默认本地用户上传文件权限755
local_max_rate=10240
write_enable=YES
#允许写入(无论是匿名用户还是本地用户要实现上传就需要快开启它)
local_umask=022
anon_upload_enable=YES #允许匿名账户上传
anon_mkdir_write_enable=YES #允许匿名账户新建文件或目录
anon_other_write_enable=YES #允许匿名账户的其他写权限
anon_umask=022 #设置匿名账户的权限755
dirmessage_enable=YES #显示每个目录下的文件信息
xferlog_enable=YES #日志启用
connect_from_port_20=YES #主动请求的数据端口
xferlog_std_format=YES