一 FTP工作原理
ftp给予C/S结构的文件传输协议
ftp会话属于符合TCP连接
---- 控制连接: TCP21端口,发送FTP命令信息
---- 数据连接: TCP20端口,上传/下载数据(现在大多数都改了)
二 FTP两种工作模式(指的是客户端发送指令后,服务器的下一步操作)
----主动模式:服务端20端口----->(主动连接)客户端
----被动模式:服务端??端口----->(被动连接)客户端
1、主动模式过程:客户端发送请求指令,服务器21端口接收指令,并且同时知道了客户端接收数据的端口,此时服务器主动连接客户端,通过20端口向客户端发送数据。
主动模式中的问题:客户端随即开端口,导致服务器无法确保数据下次能够正确连接端口并传送数据。
2、被动模式过程:客户端发送请求指令,服务器21端口接收指令,服务器随机开一个端口,通过21通道,告诉客户端“服务器的端口号1",然后客户端也随机开一个端口2,客户端2来连接服务器的端口1,那么相对于服务器来说是被动连接了;可以通过iptables专门给ftp设置一个特有规则,检查对方端口是否为ftp启用的,给它放行。。。
3、传输模式(自动切换的)
文本模式:ASII模式,文本序列传输
二进制模式:Binary模式、二进制序列传输(MP3,图片,QQ等)
4、FTP用户类型
匿名用户:ftp或anonymous
本地用户:Linux服务器本机的系统用户账号(不适合公司人多的情况)
虚拟用户:账号信息存放在独立的文件或数据库内
三 vsftpd基础服务
1、yum安装 yum -y install vsftpd
2、启动服务 service vsftpd start
3、启动脚本路径:/etc/init.d/vsftpd (只是一个管理脚本)
4、服务程序:/usr/sbin/vsftpd
5、chkconfig vsftpd on
6、默认的共享路径 /var/ftp/pub
7、通过浏览器 ftp://ip地址 即可浏览
8、专用FTP管理工具:Filezilla、CuteFTP、WinSCP ; 我常用的下载工具 wget ftp://IP地址
9、 经验:网站的迁移(内容、数据库) 这种方式拷贝速度快,方便
四 配置vsftpd服务
/etc/vsftpd/vsftpd.conf #主配置文件
/etc/vsftpd/ftpusers #黑名单(系统自带账号默认都在里面)
/etc/vsftpd/user_list #黑、白名单