版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-作者xxxx-日期xxxx在Linux平台上搭建一个FTP服务器【精品文档】目 录一、问题背景概述1二、协议分析说明分析1协议规范概述1需解决的问题2重点和难点2三、实现条件及系统解决方案2系统实现条件 / 环境配置说明2系统解决方案5四、实验方案设计及实现114.1实验方案设计说明11实验步骤 / 实现过程说明11五、方案分析评估17和其他备选方案的分析比较17方案评估分析17六、前景展望18本课题的不足之处和可改进之处18技术前景展望 / 下一步的工作18附录A参考文献19【精品文档】一、问题背景概述在当今社会,随着计算机技术的迅速普及和信息技术的日新月异,作为二十一世纪的大学生,掌握网
2、络技术并且适时适地的把它应用到我们的生活中已经成为我们不可或缺的生活需要。而对于一些IT技术人才来说,简单的知道一些电脑常识已经跟不上时代发展的脚步了。在二十世纪末二十一世纪初期,在PC应用领域,微软的windows操作系统占据了操做系统的半壁江山,图形化的界面,傻瓜式的应用,使计算机新手也能用的得心应手。但是随着需求的日益深入,大家渐渐发现,Windows不像以前那样好用了,尤其是在网络应用,服务器构建等方面有着不小的缺憾。大家渐渐把目光转向了其他操作系统,Linux成为了首选。自从有了网络一来,通过网络来传输文件一直是一项很重要的工作,不但可以实现文件的上传下载,而且可以设置不同的用户访问
3、权限,并支持大文件的断点续传功能。例如,把在本地计算机上设计的网站文件,上传到远程的Web服务器主机上,就可以使用FTP服务,根据用户名及密码访问远程主机所提供的FTP目录。采用这种方法,用户不需要使用Telnet登陆到远程主机进行工作,这样就使Web服务器上的文件更新工作变得非常轻松。二、协议分析说明分析FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写。该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台
4、计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载(download)”文件。若将文件从自己计算机中拷贝至远程计算机上,则称之为“上载(upload)”文件。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP地址如下: ftp:/用户名:密码FTP服务器IP或域名:FTP命令端口/路径/文件名FTP工作模式:FTP的数据帧格式:数据链路帧头IP头TCP头FTP命令/应答数据链路帧尾Linux下的FTP服务器有Wu-ftpd、Proftpd、vsftpd2。其中vsftpd是一个基于GPL发布的类UNIX系统上使用的FTP服务器软件,其中
5、vs是“Very Secure”的缩写,是基于文件安全、稳定传输而设计的。使用ASCII模式下载数据时,vsftpd的速度是Wu-ftpd的两倍,且vsftpd可以支持15000个并发用户。vsftpd是Red Hat Enterprise Linux 9.0自带的FTP服务器程序。本课程设计是用vsftpd来进行FTP服务器的配置。主要解决的问题有:1.安装vsftpd服务或检查安装vsftpd服务2.启动vsftpd服务3.查看vsftpd服务的默认配置信息4.测试vsftpd服务默认配置5.FTP文件设置6.FTP账号设置7.设置虚拟FTP主机 经过我们小组的一致协商,对于上述的问题,以
6、下问题对于我们来说比较棘手: 5.设置虚拟FTP主机三、实现条件及系统解决方案3.1系统实现条件 / 环境配置说明一、计算机硬件设备配置设备名称规格、型号、参数数量备注说明内存 256M以上1CPUIntel Pentium 1G以上1硬盘Seagate 20G以上1网卡3Com 10 /100M自适应网卡1本课程设计使用虚拟机环境:我们在虚拟机VMware下安装RedHat ,以下是安装RedHat Linux的部分截图:(设定“root”超级用户的密码)(linux启动界面)(启动成功,等待用户登录界面)系统解决方案 为了更深入的了解FTP模型的工作原理和实现技术,我们从协议包的层次一步一
7、步的分析FTP服务,从控制连接的建立,用户身份验证,数据连接的建立,到数据连接的关闭和控制连接的关闭。1. 地址解析ARP协议执行过程地址解析协议ARP的解析过程如图所示图 用户模块IP地址FTP客户控制模块IP地址FTP服务器控制模块协议包1:FTP用户用广播形式通知本结点的IP地址和MAC地址包2:FTP用户用广播形式发出地址解析请求包3:FTP向客户发出地址解析请求的应答包客户端FTP服务器2、FTP控制连接建立协议执行过程 FTP控制连接建立协议执行过程如图所示用户模块 端口号FTP客户控制模块端口号FTP服务器控制模块协议包4:客户端向服务器发出控制连接建立请求包5:服务器统一建立控
8、制连接请求包6:客户端向服务器发出应答的确认包包7:服务器为用户准备包包8:客户发送“FTP ACK”的应答包FTP客户FTP服务器图FTP控制连接建立的协议包交互过程 协议包46 是FTP 控制连接建立的协议执行过程 协议包4:FTP客户请求建立与FTP服务器控制连接包3、FTP用户身份验证协议包执行过程 FTP身份验证过程如图所示FTP客户端口号FTP客户控制模块端口号FTP服务器控制模块包9:客户端发送给服务器的USER命令包10:服务器对User命令的应答,确认后要求发送password包11:客户端发送应答包包12:客户端发送password包包13:服务器检查password是否合
9、法并发送应答包包14:客户端发送应答包包15:服务器通知客户在FTP服务器上登陆成功图 FTP用户身份验证协议包交互过程协议包915是用户身份的协议执行过程 协议包9:FTP客户发送给FTP服务器的User命令协议包协议包10:FTP服务器发送给FTP客户对User命令的应答包协议包12:FTP客户发送给FTP服务器的带有用户名与密码的应答包4、FTP数据连接建立过程 FTP数据连接建立分为:连接建立准备、连接建立阶段 (1)连接建立准备过程,如下图所示:客户端端口号FTP客户控制模块端口号FTP服务器控制模块包17:客户向服务器发送FTP命令PORT包包18:服务器向客户发送port命令的确
10、认包包19:客户向服务器发送pert命令包协议包17、18完成数据连接建立准备工作协议包17:FTP客户发送给FTP服务器的Port命令包协议包18:FTP服务器发送给FTP客户的Port命令应答包协议包19: FTP客户发送给FTP服务器的RETR命令包 (2)数据连接建立过程如图.2用户模块FTP客户机控制模块端口号FTP客户数据模块FTP服务器控制模块端口号FTP服务器数据模块端口号:15432 端口号:21包20:FTP服务器端口想客户端口建立数据连接的请求包包21:FTP客户同意建立数据连接的应答包包22:FTP服务器建立数据连接的应答包客户FTP服务器 协议包23:FTP服务器向F
11、TP客户发回文件netstart的状态信息 协议包25:FTP服务器向FTP客户发送的检索文件的数据包 协议包26: FTP服务器在传输数据的同时,向FTP客户发送在文件传输结束时 FTP数据传输过程如图所示端口号FTP客户端数据模块端口号FTP服务器数据模块FTP服务器控制模块端口号:15432协议包32:客户对传输数据的确认协议包31:服务器向客户发送数据协议包29:服务器向客户发送数据协议包30:客户对传输数据的确认协议包28:客户对25传输数据的确认协议包25:服务器向用户发送文件协议包27:客户对包26的确认协议包26:服务器通知数据发送结束后关闭数据连接协议包23:服务器向客户发送
12、将要检索文件的状态控制连接协议包33:服务器向客户发送数据,并置FIN标志协议包24:客户对检索文件的状态确认服务器FTP客户端口号:21FTP客户控制模块用户模块6.FTP连接释放过程 FTP连接释放包括控制连接释放和数据连接释放 如图所示四、实验方案设计及实现在Linux平台上搭建一个FTP服务器,基于我们的题目要求,我们将对此次试验做概括性说明,包括一下就几点:1.FTP服务器的安装: 安装vsftpd服务器 1.2 启动/重新启动/停止vsftpd服务2.1 测试vsftpd服务默认配置2.2 FTP文件的配置2.3 FTP账户的设置4.2实验步骤 / 实现过程说明1.FTP服务器的安
13、装1.1 安装vsftpd服务器 vsftpd是目前Linux最好的FTP服务器工具之一3,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。如果选择完全安装,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:rootahpeng root rpm -qa | grep vsftpd如果结果显示为“vsftpd-8”,则说明系统已经安装vsftpd服务器。如果安装时没有选择vsftpd服务器,则可以在图形环境下单击“主菜单系统设置添加删除应用程序”菜单项,在出现的“软件包管理”对话
14、框里确保选中“FTP服务器”选项,然后单击“更新”按钮,按照屏幕提示插入第3张安装光盘即可开始安装。另外,你也可以直接插入第3张安装光盘,定位到/RedHat/RPMS下的vsftpd-安装包,然后在终端命令窗口运行以下命令即可开始安装进程: rootahpeng RPMS rpm -ivh vsftpd-1.2 启动/重新启动/停止vsftpd服务 从开始,vsftpd默认只采用standalone方式启动vsftpd服务,方法是在终端命令窗口运行以下命令:rootahpeng root /et重新启动vsftpd服务: 关闭vsftpd服务:确认vsftpd服务已经启动后,我们可以在任意一
15、台Linux主机的终端命令窗口里输入“ftp FTPAddres”(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp4 (ftp是匿名用户的映射用户账号),如下所述:ftp FTPAddressConnected to FTPAddress220 (vsFTPd ) /vsftpd的响应请求User (FTPAddress:(none): ftp/输入用户账号ftp331 Please specify the password.Password/输入密码ftp230 Login successful. Have fun.ftp2 FTP服务器的配置2.1
16、 测试vsftpd服务默认配置(1)默认路径 默认情况下vsftpd服务是允许匿名访问的,匿名访问默认的下载文件目录地址为var/ftp/pub, 该目录为空。(2)测试登录为了便于测试,先在FTP服务器上的var/ftp/pub目录下建立一个calendar.txt。往文件中添加内容2008。用本地IP进行测试。图4.1为显示vsftpd的默认配置,图4.2为本地测试登录,图4.3为下载文件到本地。图4.2 本地测试登录图4.3 下载文件到本地2.2 FTP文件的配置这个配置文件是FTP服务器最重要的配置文件,这个文件的设置决定了FTP是否可以正常工作及许多访问权限的设置5。如下面的例子所示
17、: class all real,guest,anonymous * limit all 10 Any /etc/msgs/msg.dead readme README* login readme README* cwd=* message /welcome.msg login message .message cwd=* compress yes all tar yes all log commands real log transfers anonymous,real inbound,outbound shutdown /etc/shutmsg email userhostname 2.3
18、 FTP帐户的设置很多时候需要开设一些只允许ftp到服务器的用户,实现方法如下: 1、按照通常的方式为这些用户在系统上开设帐户6。 rootns /etc#useradd ftp_user1 rootns /etc#chmod 700 /etc/shadows rootns /etc#vi /etc/shadows 删除项: ftp_user1:!:11113:0:99999:7:-1:-1:134537372 中第二个字段的!,然后再以ftp_usre1用户登 录,就不会询问口令,然后使用passwd为该 用户设定口令 2、使用vi修改/etc/shells文件,添加/dev/null项或/
19、bin/passwd,如下所示: rootns /etc# cat shells /bin/bash /bin/sh /bin/ash /bin/bsh /bin/tcsh /bin/csh修改为:rootns /etc# cat shells/bin/bash/bin/sh/bin/ash/bin/bsh/bin/tcsh/bin/csh/dev/null/bin/passwd3、将那些只允许FTP的系统的用户的登录shell改为/dev/null(若不允许用户修改其口令)或/bin/passwd(若允许用户修改其口令字),如下所示: ftp_user1:x:503:504:/home/ft
20、p_user1:/bin/bash 改为: ftp_user1:x:503:504:/home/ftp_user1:/dev/null 或 ftp_user1:x:503:504:/home/ftp_user1:/bin/passwd 这样,则该用户只能使用如pop3、FTP等服务,而不能通过telnet登录到系统中7。3. 设置虚拟FTP主机所谓虚拟匿名主机,指一台机器上有多个IP地址,并且可以向外提供过个匿名的FTP服务器,这些服务器在逻辑上是独立的,有不同的访问控制表,不同的下载内容。下面是设置一台虚拟FTP服务器的步骤: 1首先对本地某个网卡设置别名IP地址,即在一块网卡上绑定多个IP
21、地址:如你的内部FTP主机为 你可再绑定一个IP地址如下: /sbin/ifconfig eth0:0 up /向接口添加一个新的IP /sbin/route add -host eth0:0 /增添路由信息 2.先创建目录/home/virtualftp和/var/log/virtualftp。生成banner文件/home/virtualftp/banner_message修改FTP服务器的主配置文件/etc/ftpaccess,增加对虚拟FTP的支 持信息,加下面的行到该文件中: virtual 191.168.0.
22、5 root /home/virtualftp virtual banner /home/virtualftp/banner_message virtual logfile /var/log/virtualftp/xferlog 上面三条指示分别设置虚拟主机的根目录,虚拟主机的记录文件,虚拟主机的登录显示信息。 上面路径和文件名可随便定义。 3. 拷贝所需要的匿名FTP文件,主要是/lib,/etc,/bin目录 # cp /home/ftp/* /home/virtualftp -a 4.在DNS中定义,设置成虚拟FTP的域名映射。五、方案分析
23、评估5.1和其他备选方案的分析比较Linux下使用最广泛的FTP服务器是VSFTPD。VSFTPD是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。我们在前面已经说过: Linux下的FTP服务器有Wu-ftpd、Proftpd、vsftpd, 相比于Wu-ftpd和Proftpd而言,vsftpd具有以下显著的优点:(1) 是一个安全、稳定、高速的FTP服务器。(2) 可以设定多个基于IP的虚拟FTP服务器。(3) 不执行任何外部程序,相对降低了安全隐患。(4) 支持虚拟用户,并且每个虚拟用户
24、具有独立的配置(5) 支持带宽限制等。在速度方面:使用ASCII代码的模式下载数据时,VSFTPD的速度是Wu-FTPD的两倍。在稳定方面:VSFTPD就更加的出色,VSFTPD在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器()的数据,VSFTPD服务器可以支持15000个并发用户。因此使用vsftpd具有更好的性能,同时也可以给用户带来更多的方便。5.2方案评估分析FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节。因而适合于在异构网络中任意计算机之间传送文件。他的适用范围如:客户管理(住户从
25、迁入到迁出小区都能得到有条不紊的管理,其中包括户主信息,即户主的身份、房号、投诉记录和回应等。如果是租住户,还能对租约进行管理。)、认识工资考勤管理(这是针对公司内部人员的管理,包括花名册、人事变动、工资、考勤、培训记录等。)、住户费用查询(住户通过网络可方便地查询到自己的水、电、煤气、物业管理等费用)等。FTP服务器推广应用的意义:作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着
26、数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。 匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。FTP服务器的优点:1、完全基于网络,具有网络文件的上传与下载特性。如支持断点续传,不受工作组与IP地址限制等。 2、拥有完善的用户权限管理系统,比起网络共享来说,可以详细设置每个用户的权限。如只能上传,不能修改或删除等。3、安全性高,可以进行数据的加密传输。更好保护个人隐私。六、前景展望本课题的不足之处和可改进之处不足:起初我们以为在两个主机之间传送文件是很简单的事情,其实这往往非常困难,原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。经常遇到的问题是:1:计算机存储数据的格式不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年广西演艺职业学院《形势与政策》期末考试题库检测试题打印附答案详解(研优卷)
- 2024-2025学年度吉林铁道职业技术学院单招《语文》考前冲刺练习题及参考答案详解(精练)
- 2026年技术合作项目洽谈邀请函4篇
- 2024-2025学年度无人机资格证考前冲刺练习【考点精练】附答案详解
- 2024-2025学年度朝阳师范高等专科学校《形势与政策》期末考试考试彩蛋押题附完整答案详解【有一套】
- 艺术作品创作及推广保证承诺书9篇
- 2024-2025学年中级软考每日一练试卷(典型题)附答案详解
- 2024-2025学年度电工考前冲刺试卷附答案详解【巩固】
- 2024-2025学年中医助理医师试题及答案详解参考
- 2024-2025学年度临床执业医师题库(夺分金卷)附答案详解
- 2026年安庆医药高等专科学校单招职业适应性测试题库含答案详解(b卷)
- 湖北省云学名校联盟2025届高三年级2月联考物理(含答案)
- 2026年安徽工贸职业技术学院单招职业技能考试题库及答案详解(基础+提升)
- 2026云南德宏州瑞丽市人民法院招聘聘用制书记员2人考试参考试题及答案解析
- (一模)2026年深圳市高三年级第一次调研考试数学试卷(含官方答案及解析)
- 2026年春季小学湘美版(2024)二年级下册美术教学计划、教案及每课教学反思(附目录)
- 2026年部编版新教材道德与法治二年级下册全册教案(含教学计划)
- 高校教学课件:旅游景区服务与管理(第三版)
- 预应力混凝土空心板梁预制与架设
- 畜牧兽医专业《猪生产学》电子教案
- 阳台玻璃栏杆施工方案74050完整
评论
0/150
提交评论