基于Linux的FTP服务器的安装与配置
1 引言
1 . 1课程设计的背景
随着信息技术的飞速发展 网络应用扮演着不可或缺角色。计算机知识的普及 民众对计算机的认识和理解日益深厚。在二十世纪末二十一世纪初期在PC应用领域微软的windows操作系统占据了操做系统的半壁江山 图形化的界面傻瓜式的应用即使计算机新手也能用的得心应手。但是随着需求的日益深入大家渐渐发现 Windows不像以前那样好用了尤其是在网络应用服务器构建等方面有着不小的缺憾。大家渐渐把目光转向了其他操作系统 linux成为了他们的首选。
Linux是一套免费使用和自由传播的类UNIX操作系统它具有如下特点开放性多用户多任务 良好的用户界面设备独立性提供丰富的网络功能可靠的系统安全性 良好的可移植性兼容其他的UNI X系统支持多文件系统。
1 .2课程设计的目的
本课程设计的目的是通过对FTP服务器的配置和使用加深对l inux下网络功能的实现的理解。
基于Linux的FTP服务器的安装与配置
2 FTP服务
自从有了网络一来通过网络来传输文件一直是一项很重要的共组不但可以实现文件的上传下载而且可以设置不同的用户访问权限并支持大文件的断点续传功能。例如把在本地计算机上设计的网站文件上传到远程的Web服务器主机上就可以使用FTP服务根据用户名及密码访问远程主机所提供的FTP目录。采用这种方法用户不需要使用Telnet登陆到远程主机进行工作这样就使Web服务器上的文件更新工作变得非常轻松。
2. 1 FTP简介
FTP是Internet上用来传送文件的协议文件传输协议是TCP/IP协议族中的协议之一他是为了能够在Internet上互相传送文件而制定的文件传送标准规定了Internet上文件如何传送。该协议是Internet文件传送的基础它是由一系列规格文档组成 目标是提高文件的共享性提供非直接使用远程计算机的方法是存储介质对用户透明和可靠传输数据。也就是说通过FTP协议就可以完成两台计算机之间的复制从远程计算机复制文件至自己的计算机上称为下载download文件。若将文件从本地计算机复制到远程计算机上则称之为上传upload文件。在TCP/IP协议中 FTP标准命令TCP端口号21 PORT方式端口号20。
2.2 FTP服务器和客户端
与大多数Internet服务一样 FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令服务器程序执行用户所发出的命令并将执行的结果返回到客户机。比如说用户发出一条命令要求服务器向用户传
基于Linux的FTP服务器的安装与配置
送某一个文件的一份拷贝服务器会响应这条命令将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件将其存放在用户目录中。
2.3 FTP用户授权
使用FTP时必须首先登录在远程主机上获得相应的权限以后方可上传或下载文件。也就是说要想同哪一台计算机传送文件就必须具有哪一台计算机的适当授权。换言之除非有用户ID和口令否则便无法传送文件。根据FTP服务器提供的服务对象不同可以将FTP服务的使用者分为以三类。
1本地用户。如果用户在远程FTP服务器上拥有账户账户为本地用户。本地用户可以通过输入自己的账号和密码进行登陆。当登陆成功后其登陆目录为系统提供给该用户的根目录$HOME如/home/user1用户利用FTP访问该目录如同在本地一样可以下载和上传文件。
2 Guest用户。当FTP服务器为某些特定用户提供公共账户和密码并且账号只能用户文件传输服务其登陆的目录为指定的目录此用户类别为Guest用户。通常状况下为该用户提供文件下载和上传功能。
3匿名用户。如果用户在远程的FTP服务器上没有自己的账号则称此用户为匿名用户。若FTP服务器提供匿名访问功能则匿名用户可以通过输入annoymous用户名和空的口令来进行登陆一般情况下匿名登录的FTP服务器只提供文件下载功能。匿名用户一直是Internet上获取信息资源的最主要方式。
2.4 FTP的工作模式
FTP的工作情况如图2. 1所示。图中的椭圆圈表示在系统中运行的进程。图中的服务器有两个从属进程控制进程和数据传送进程。在客户端除了控制进程和数据传送进程外还有一个用户界面进程用来和用户接口
基于Linux的FTP服务器的安装与配置
图2 1 FTP工作模式
在进行文件传输时 FTP的客户和服务器之间要建立两个并行的TCP连接“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开 FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程但控制连接并不用来传送文件。实际用来传送文件的事“数据连接”用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送在传送完毕后关闭“数据传送连接”并结束运行。由于FTP使用了一个分离的控制连接因此FTP的控制信息是带外传送的。
FTP数据帧格式如图2.2所示。
2.5 FTP协议包交互
为了更深入的了解FTP模型的工作原理本人从协议包的层次一步一步的分析FTP服务从控制连接的建立用户身份验证数据连接的建立到数据连接的关闭和控制连接的关闭。
1 、地址解析ARP协议执行过程
地址解析协议ARP解析过程如图2.3所示。
基于Linux的FTP服务器的安装与配置
图2 3地址解析ARP协议执行过程
2、 FTP控制连接建立协议执行过程
FTP控制连接建立过程如图2.4所示。
图2 4 FTP控制连接建立的协议包交互过程协议包46是FTP控制连接建立的协议执行过程协议包4 FTP客户请求建立与FTP服务器控制连接包
基于Linux的FTP服务器的安装与配置
3、 FTP用户身份验证协议包执行过程
FTP身份验证过程如图2.5所示。
FTP客户
图2. 5 FTP用户身份验证协议包交互过程
协议包916是用户身份的协议执行过程
协议包9 FTP客户发送给FTP服务器的User命令协议包
协议包10 FTP服务器发送给FTP客户对User命令的应答包
协议包12 FTP客户发送给FTP服务器的带有用户名与密码的应答包
4、 FTP数据连接建立过程
FTP数据连接建立分为连接建立准备、连接建立阶段
1连接建立准备过程如图2.6所示。
基于Linux的FTP服务器的安装与配置
图2 6数据连接建立准备工作协议包交互过程
协议包17、 18完成数据连接建立准备工作
协议包17 FTP客户发送给FTP服务器的Port命令包协议包18 FTP服务器发送给FTP客户的Port命令应答包协议包19 FTP客户发送给FTP服务器的RETR命令包2数据连接建立过程如图2.7所示。
图2 7数据连接建立过程数据包交互过程
基于Linux的FTP服务器的安装与配置
5、 FTP数据传输过程
FTP数据传输过程如图2.8所示。
图2 8 FTP数据传输和确认协议包交互过程
协议包23 FTP服务器向FTP客户发回文件netstart的状态信息协议包25 FTP服务器向FTP客户发送的检索文件的数据包
基于Linux的FTP服务器的安装与配置
协议包26 FTP服务器在传输数据的同时 向FTP客户发送在文件传输结束时
6、 FTP连接释放过程
FTP连接释放包括控制连接释放和数据连接释放 图2.9展示了控制连接释放过程。
图2 9连接释放请求协议包交互过程
Hosteons,一家海外主机商成立于2018年,在之前还没有介绍和接触这个主机商,今天是有在LEB上看到有官方发送的活动主要是针对LEB的用户提供的洛杉矶、达拉斯和纽约三个机房的方案,最低年付21美元,其特点主要在于可以从1G带宽升级至10G,而且是免费的,是不是很吸引人?本来这次活动是仅仅在LEB留言提交账单ID才可以,这个感觉有点麻烦。不过看到老龚同学有拿到识别优惠码,于是就一并来分享给有需...
Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...
零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新用户有优惠码:LINGTUYUN,使用即可打折。目前,零途云还推出性价比非常高香港多ip站群云服务器,有需要的,可以关注一下。零途云优惠码:优惠码:LINGTUYUN (新用户优惠,享受9折优...