您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于Linux的FTP服务器配置
基于Linux的FTP服务器的安装与配置第1页共20页1引言1.1课程设计的背景随着信息技术的飞速发展,网络应用扮演着不可或缺角色。计算机知识的普及,民众对计算机的认识和理解日益深厚。在二十世纪末二十一世纪初期,在PC应用领域,微软的windows操作系统占据了操做系统的半壁江山,图形化的界面,傻瓜式的应用,即使计算机新手也能用的得心应手。但是随着需求的日益深入,大家渐渐发现,Windows不像以前那样好用了,尤其是在网络应用,服务器构建等方面有着不小的缺憾。大家渐渐把目光转向了其他操作系统,linux成为了他们的首选。Linux是一套免费使用和自由传播的类UNIX操作系统,它具有如下特点:开放性,多用户,多任务,良好的用户界面,设备独立性,提供丰富的网络功能,可靠的系统安全性,良好的可移植性,兼容其他的UNIX系统,支持多文件系统。1.2课程设计的目的本课程设计的目的是通过对FTP服务器的配置和使用,加深对linux下网络功能的实现的理解。基于Linux的FTP服务器的安装与配置第2页共20页2FTP服务自从有了网络一来,通过网络来传输文件一直是一项很重要的共组,不但可以实现文件的上传下载,而且可以设置不同的用户访问权限,并支持大文件的断点续传功能。例如,把在本地计算机上设计的网站文件,上传到远程的Web服务器主机上,就可以使用FTP服务,根据用户名及密码访问远程主机所提供的FTP目录。采用这种方法,用户不需要使用Telnet登陆到远程主机进行工作,这样就使Web服务器上的文件更新工作变得非常轻松。2.1FTP简介FTP是Internet上用来传送文件的协议(文件传输协议),是TCP/IP协议族中的协议之一,他是为了能够在Internet上互相传送文件而制定的文件传送标准,规定了Internet上文件如何传送。该协议是Internet文件传送的基础,它是由一系列规格文档组成,目标是提高文件的共享性,提供非直接使用远程计算机的方法,是存储介质对用户透明和可靠传输数据。也就是说,通过FTP协议,就可以完成两台计算机之间的复制,从远程计算机复制文件至自己的计算机上,称为下载(download)文件。若将文件从本地计算机复制到远程计算机上,则称之为上传(upload)文件。在TCP/IP协议中,FTP标准命令TCP端口号21,PORT方式端口号20。2.2FTP服务器和客户端与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传基于Linux的FTP服务器的安装与配置第3页共20页送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。2.3FTP用户授权使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上传或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。根据FTP服务器提供的服务对象不同,可以将FTP服务的使用者分为以三类。(1)本地用户。如果用户在远程FTP服务器上拥有账户,账户为本地用户。本地用户可以通过输入自己的账号和密码进行登陆。当登陆成功后,其登陆目录为系统提供给该用户的根目录($HOME),如/home/user1,用户利用FTP访问该目录如同在本地一样,可以下载和上传文件。(2)Guest用户。当FTP服务器为某些特定用户提供公共账户和密码,并且账号只能用户文件传输服务,其登陆的目录为指定的目录,此用户类别为Guest用户。通常状况下,为该用户提供文件下载和上传功能。(3)匿名用户。如果用户在远程的FTP服务器上没有自己的账号,则称此用户为匿名用户。若FTP服务器提供匿名访问功能,则匿名用户可以通过输入annoymous用户名和空的口令来进行登陆,一般情况下匿名登录的FTP服务器只提供文件下载功能。匿名用户一直是Internet上获取信息资源的最主要方式。2.4FTP的工作模式FTP的工作情况如图2.1所示。图中的椭圆圈表示在系统中运行的进程。图中的服务器有两个从属进程:控制进程和数据传送进程。在客户端除了控制进程和数据传送进程外,还有一个用户界面进程用来和用户接口基于Linux的FTP服务器的安装与配置第4页共20页用户界面进程控制数据传输进程数据传输进程网络用户计算机控制进程TCP控制连接TCP数据连接FTP服务器端FTP客户端图2.1FTP工作模式在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用来传送文件的事“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。由于FTP使用了一个分离的控制连接,因此FTP的控制信息是带外传送的。FTP数据帧格式如图2.2所示。IP头数据链路帧头TCP头FTP命令/应答数据链路帧尾图2.2FTP帧格式2.5FTP协议包交互为了更深入的了解FTP模型的工作原理,本人从协议包的层次一步一步的分析FTP服务,从控制连接的建立,用户身份验证,数据连接的建立,到数据连接的关闭和控制连接的关闭。1、地址解析ARP协议执行过程地址解析协议ARP解析过程如图2.3所示。基于Linux的FTP服务器的安装与配置第5页共20页用户模块IP地址FTP客户控制模块IP地址FTP服务器控制模块协议包1:FTP用户用广播方式通知本节点的IP地址和MAC地址协议包2:FTP用户用广播方式发出地址解析请求协议包3:FTP服务器像客户发出地址解析请求的应答包FTP客户端FTP服务器图2.3地址解析ARP协议执行过程2、FTP控制连接建立协议执行过程FTP控制连接建立过程如图2.4所示。用户模块端口号FTP客户控制模块端口号FTP服务器控制模块FTP服务器FTP客户协议包4:客户端向服务器发出控制连接建立请求协议包5:服务器统一建立控制连接请求协议包6:客户端向服务器发出应答的确认包协议包7:服务器为用户准备包协议包8:客户发送“FTPACK”应答包图2.4FTP控制连接建立的协议包交互过程协议包4~6是FTP控制连接建立的协议执行过程协议包4:FTP客户请求建立与FTP服务器控制连接包基于Linux的FTP服务器的安装与配置第6页共20页3、FTP用户身份验证协议包执行过程FTP身份验证过程如图2.5所示。FTP客户端口号FTP客户控制模块FTP服务器控制模块端口号协议包9:客户端发送给服务器的User命令协议包10:服务器对User命令的应答,确认后要求发送Password协议包11:客户端发送应答包协议包12:客户端发送Password包协议包13:服务器检查Password是否合法并发送应答包协议包14:客户端发送应答包协议包15:服务器通知客户在FTP服务器上登陆成功图2.5FTP用户身份验证协议包交互过程协议包9~16是用户身份的协议执行过程协议包9:FTP客户发送给FTP服务器的User命令协议包协议包10:FTP服务器发送给FTP客户对User命令的应答包协议包12:FTP客户发送给FTP服务器的带有用户名与密码的应答包4、FTP数据连接建立过程FTP数据连接建立分为:连接建立准备、连接建立阶段(1)连接建立准备过程,如图2.6所示。基于Linux的FTP服务器的安装与配置第7页共20页客户端端口号FTP客户控制模块端口号FTP服务器控制模块协议包17:客户向服务器发送FTP命令Port包协议包18:服务器向客户发送Port命令的确认包协议包19:客户向服务器发送RETR命令包图2.6数据连接建立准备工作协议包交互过程协议包17、18完成数据连接建立准备工作协议包17:FTP客户发送给FTP服务器的Port命令包协议包18:FTP服务器发送给FTP客户的Port命令应答包协议包19:FTP客户发送给FTP服务器的RETR命令包(2)数据连接建立过程如图2.7所示。FTP客户机控制模块用户模块FTP服务器控制模块端口号FTP客户数据模块端口号FTP服务器数据模块端口号:15432端口号:21协议包20:FTP服务器端口向客户端口建立数据连接的请求包协议包21;FTP客户同意建立数据连接的应答包协议包22:FTP服务器建立数据连接的应答包图2.7数据连接建立过程数据包交互过程客户FTP服务器基于Linux的FTP服务器的安装与配置第8页共20页5、FTP数据传输过程FTP数据传输过程如图2.8所示。用户模块FTP客户控制模块FTP服务器控制模块控制连接端口号:15432端口号:21协议包23:服务器向客户发送将要检索文件的状态协议包24:客户对检索文件的状态确认协议包25:服务器向客户发送数据协议包26;服务器通知数据发送结束后关闭数据连接协议包27:客户对包26的确认协议包28:客户对25传输数据的确认协议包29:服务器向客户发送数据协议包30:客户对传输数据的确认协议包31:服务器向客户发送数据协议包32;客户对传输数据的确认协议包33:服务器向客户发送数据,并置FIN标记端口号FTP客户端数据模块FTP服务器数据模块端口号FTP客户FTP服务器图2.8FTP数据传输和确认协议包交互过程协议包23:FTP服务器向FTP客户发回文件netstart的状态信息协议包25:FTP服务器向FTP客户发送的检索文件的数据包基于Linux的FTP服务器的安装与配置第9页共20页协议包26:FTP服务器在传输数据的同时,向FTP客户发送在文件传输结束时6、FTP连接释放过程FTP连接释放包括控制连接释放和数据连接释放,图2.9展示了控制连接释放过程。客户模块端口号FTP客户控制模块端口号FTP服务器控制模块FTP服务器FTP客户协议包34:服务器发出释放连接请求包协议包35:客户发出释放连接请求应答包(ACKFIN)协议包35:客户发出释放连接请求应答包(ACKPUSH)图2.9连接释放请求协议包交互过程基于Linux的FTP服务器的安装与配置第10页共20页3安装和配置FTP服务器3.1vsftpd服务的安装和启动(1)安装首先检查vsftpd服务的安装情况,可以检查vsftpdRPM包情况,在字符终端输入如下命令:#rpm–qa|grepvsftpd如果系统没有安装,可以把RedHatEnterpriseLinux5安装光盘的第三章放入光驱,输入:#rpm–ivhvsftpd-2.0.5-8.i386.rpm(2)启动使用如下命令对vsftd服务器的启动、停止与重新启动及状态的查看:#servicevsftpdstart#servicevsftpdstop#servicevsftpdrestart#servicevsftpdstatus3.2vsftpd服务的默认配置信息(1)配置文件RedHatEnterpriseLinux5中的默认配置文件有三个:/etc/vsftpd/vsftpd.conf是主配置文件默认配置如图3.1所示。基于Linux的FTP服务器的安装与配置第11页共20页图3.1vsftpd.conf默认设置主配置文件vsftpd.conf的相关参数解析:anonymous_enable=YES是否允许匿名ftp,如否则选择NOlocal_enable=YES是否允许本地用户登录local_umask=022默认的umask码anon_upload_enable=YES是否允许匿名上传文件anon_mkdir_write_enable=YES是否允许匿名用户有创建目录的权利dirmessage_enable=YES是
本文标题:基于Linux的FTP服务器配置
链接地址:https://www.777doc.com/doc-7309426 .html