linux中FTP服务器的理论知识

一、FTP服务器概述

     FTP(File Transfer Protocol 文件传输协议 )是典型的C/S(Client/Server或客户/服务器模式)结构的应用层协议,需要有服务端软件、客户端软件两个部分共同实现文件传输功能。

     1.FTP连接以及传输的方式:

      FTP默认使用TCP协议中的20端口(用于建立数据连接,传输文件数据)、21端口(用于建立控制连接,传输FTP控制命令)实现与客户端通信。

      注解:

      在FTP服务器上建立数据连接分为两种模式:

      (1)、主动模式:服务器主动向客户端发起连接。

      (2)、被动模式:服务器被动等待数据连接。

     客户端建立好数据连接之后,需要从控制连接中发送命令进行上传、下载文件,在传输文件时,根据是否进行字符转换,分为两种模式:

      (1)、文本模式:又被成为ASCII(American Standard Code for Information Interchange 美国信息交换标准码)模式,这种模式在传输文件的时候使用ASCII标准字符序列。通常用于纯文本模式下的传输。

      (2)、二进制模式:又被称为Binary模式,这种模式不能转换文件中的字符序列,所以更适合用于传输程序、图片等非纯文本字符的文件。具有的优点是速度款,断点续传。

      2.FTP用户类型

     (1)、匿名用户:使用FTP客户端访问FTP服务器的时候,通过一种特殊的用户账号(比如:ftp、anonymous)提供任意密码或者是空密码进去访问FTP服务器的用户。匿名用户一般用于提供公共文件的下载。

      (2)、本地用户: 直接使用本机的系统账号访问FTP服务器的用户。在RHEL系统中,匿名用户对应系统用户“ftp”,但对于vsftp来说,本地用户是指匿名用户之外的用户。

      (3)、虚拟用户:位于独立数据库文件的FTP用户。虚拟用户试讲FTP账户与linux系统账户的关联性将至最低,所以说为系统提供了较好的安全性。

     3.FTP服务器软件的分类

     (1)、windows系统:

           IIS:IIS提供了可用于Internet、Intranet或者Extranet上集成web服务器的能力,这种服务器具有可靠、可伸缩、安全以及可管理的优点。使用IIS可以为动态网络应用程序创建功能强大的通信平台,任何规模的组织都可以使用IIS支持和管理Internet或者是Intranet上的网页以及文件传输协议。

       其中最新的版本为IIS 7.0版本的升级版IIS7.5,适用于window7系统中,在相对于IIS 7.0来说,IIS 7.5的建立在IIS 7.0 版本所引入的可扩展和模块化体系结构智商,IIS 7.5在集成并增强现有扩展的同时,仍然能够提供额外的扩展性和自定义的一个功能。

           server-u:通过使用server-u软件用户可以讲任意一天计算机或者是服务器设置成一个FTP服务器,用户和其他用户都能使用FTP协议。在同一个网络的任何主机都可以对FTP服务器上的文件进行相关的操作。

          相对来说,server-u适合小型企业,它所占有的优势:

          安装方法简便,使用灵活,

          支持实时的多用户连接,可以建立匿名用户的访问,

          设置上传和下载文件的断点续传,

          根据公司员工职位的不同来分配不同的用户权限。支持硬盘空间配额的限制。

      (2)、linux系统/unix系统

         vsftpd:在linux/UNIX应用十分广泛的一款FTP服务软件,在速度和稳定性方面相当突出,当然在安全方面也做了大量的工作,vsftpd可以支持15000个用户并发连接。