FTP 的安装与使用

FTP服务器

FTP文件共享基于TCP/IP协议,目前绝大多数系统都会有支持FTP的工具存在。FTP是一种通用性比较强的网络文件共享方式。

FTP服务概述

FTP方便地解决了文件的传输问题,从而让人们可以方便地从计算机网络中获得资源。FTP已经成为计算机网络上文件共享的一个标准。FTP服务器中的文件按目录结构进行组织,用户通过网络与服务器建立连接。FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用两个端口,一个数据端口和一个命令端口,也可叫作控制端口。通常来说这两个端口是21(命令端口)和20(数据端口)。FTP的工作方式不同,数据端口也并不总是20,可由此分为主动FTP和被动FTP。

1.主动FTP

主动方式的FTP客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口21,然后客户端开始监听端口N+1,并发送FTP命令“portN+1”到FTP服务器。接着服务器会从自己的数据端口(20)连接到客户端指定的数据端口(N+1)。主动模式下,服务器端开启的是20和21端口,客户端开启的是1024以上的端口。

2.被动FTP

为了解决服务器发起到客户的连接的问题采取了被动方式,或叫作PASV,当客户端通知服务器处于被动模式时才启用。在被动方式FTP中,命令连接和数据连接都由客户端发起,当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第1个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连接它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器端口P的连接来传送数据,此时服务端的数据端口不再是20端口。此时服务端开启的是21命令端口和大于1024的数据连接端口,客户端开启的是大于1024的两个端口。

主动模式是从服务器端向客户端发起连接,被动模式是客户端向服务器端发起连接。两者的共同点是都使用21端口进行用户验证及管理,差别在于传送数据的方式不同。

vsftp的安装与配置

在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用。目前在开源操作系统中常用的FTP软件除vsftp外,主要有proftpd、purefrpd和wu-ftpd等,各个FTP软件并无优劣之分,读者可选择熟悉的FTP软件。

1.安装vsftpd

安装此FTP软件可以采用rpm包或源码的方式,rpm包可以在系统安装盘中找到。

安装过程如下:

2. vsftp配置文件

3. 匿名FTP设置

配置允许匿名用户访问并上传文件,配置文件路径一般为/etc/vsftpd.conf,如果是使用rpm包安装,配置文件位于/etc/vsftpd/vsftpd.conf

4. 实名FTP设置

除配置匿名FTP服务外,vsftp还可以配置实名FTP服务器,以便实现更精确的权限控制。实名需要的用户认证信息位于/etc/vsftpd/目录下,vsftpd.conf也位于此目录,用户启动时可以单独指定其他的配置文件,本示例FTP认证采用虚拟用户认证。

vsftp可以指定某些用户不能登录FTP服务器、支持SSL连接、限制用户上传速率等,更多配置可参考帮助文档。

FTP命令详解

最后更新于

这有帮助吗?