7.1、文件传输协议ftp简介
文件传输协议( file transfer protocol,FTP),基于该协议FTP客户端与服务端可以实
现共享文件、上传文件、下载文件。FTP基于TCP协议生成一个虚拟的连接,主要用于控
制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输。用户可以通过客
户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。
FTP服务是 client/ server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。
7.2、ftp传输原理
Ftp协议中控制连接均是由客户端发起,而数据连接有两种工作方式:Port和Pasv方式
FTP主动模式(Port模式):客户端从一个任意的端口N(N>1024)连接到FTP服务器的port21命令端口,客户端开始监听端口N+1,并发送FTP命令“ port N+1”到FTP务器,FTP服务器以数据端口(20)连接到客户端指定的数据端口(N+1)
如果linux防火墙开启最好用主动模式
FTP被动模式(Pasv模式):客户端从一个任意的端口N(N>1024)连接到FTP服务器的port21命令端口,客户端开始监听端口N+1,客户端提交PASV命令,服务器会开启一个任意的端口(P>1024),并发送 PORT P命令给客户端。客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
在企业实际环境中,如果FTP客户端与FTP服务端均开放防火墙,FTP需以主动模式工作,这样只需要在FTP服务器端防火墙规则中,开放20、21端口即可。
7.3、Vsftpd服务器简介
目前主流的FTP服务器端软件包括 Vsftpd、 ProFTPD、 PureFTPd、 Wuftpd、 Server
FTP、 FileZilla Server等,其中UNX/ Linux使用较为广泛的FTP服务器端软件为 Vsftpd,
非常安全的FTP服务进程( very secure FTP daemon, Vsftpd), Vsftpd是在UNIX/Linux发行版中最主流的FTP服务器程序,优点是小巧轻快、安全易用、稳定高效、满足企业跨部门,多用户的使用等。
Vsftpd基于GPL.开源协议发布,在中小企业中得到广泛的应用, Vsftpd可以快速上手,基于 Vsftpd虚拟用户方式,访问验证更加安全, Vsftpd还可以基于 MySQL数据库作安全验证,多重安全防护
7.4、Vsftpd服务器安装配置
vsftpd服务器端安装有两种方法:一是基于YUM方式安装;二是基于源码编译安装,最终实现效果完全一样,本文采用YUM安装 Vsftpd,具体步骤如下
1、在 shell 1命令行执行如下命令
yum-y install vsftpd* pam* db4*
vsftpd:ftp软件 pam:认证模块 DB4:支持文件数据库
2、Vsftpd安装后的配置文件路径、启动 Vsftpd服务及查看进程是否启动
rpm -ql vsftpd