课程设计(论文)-基于Linux的FTP服务器配置 (2).doc_第1页
课程设计(论文)-基于Linux的FTP服务器配置 (2).doc_第2页
课程设计(论文)-基于Linux的FTP服务器配置 (2).doc_第3页
课程设计(论文)-基于Linux的FTP服务器配置 (2).doc_第4页
课程设计(论文)-基于Linux的FTP服务器配置 (2).doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于linux的ftp服务器的安装与配置 1 引 言1.1 课程设计的背景随着信息技术的飞速发展,网络应用扮演着不可或缺角色。计算机知识的普及,民众对计算机的认识和理解日益深厚。在二十世纪末二十一世纪初期,在pc应用领域,微软的windows操作系统占据了操做系统的半壁江山,图形化的界面,傻瓜式的应用,即使计算机新手也能用的得心应手。但是随着需求的日益深入,大家渐渐发现,windows不像以前那样好用了,尤其是在网络应用,服务器构建等方面有着不小的缺憾。大家渐渐把目光转向了其他操作系统,linux成为了他们的首选。linux是一套免费使用和自由传播的类unix操作系统,它具有如下特点:开放性,多用户,多任务,良好的用户界面,设备独立性,提供丰富的网络功能,可靠的系统安全性,良好的可移植性,兼容其他的unix系统,支持多文件系统。1.2 课程设计的目的本课程设计的目的是通过对ftp服务器的配置和使用,加深对linux下网络功能的实现的理解。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服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。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所示。图中的椭圆圈表示在系统中运行的进程。图中的服务器有两个从属进程:控制进程和数据传送进程。在客户端除了控制进程和数据传送进程外,还有一个用户界面进程用来和用户接口在进行文件传输时,ftp的客户和服务器之间要建立两个并行的tcp连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,ftp客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用来传送文件的事“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。由于ftp使用了一个分离的控制连接,因此ftp的控制信息是带外传送的。ftp数据帧格式如图2.2所示。2.5 ftp协议包交互为了更深入的了解ftp模型的工作原理,本人从协议包的层次一步一步的分析ftp服务,从控制连接的建立,用户身份验证,数据连接的建立,到数据连接的关闭和控制连接的关闭。1、地址解析arp协议执行过程地址解析协议arp解析过程如图2.3所示。2、ftp控制连接建立协议执行过程ftp控制连接建立过程如图2.4所示。协议包46 是ftp 控制连接建立的协议执行过程协议包4:ftp客户请求建立与ftp服务器控制连接包3、ftp用户身份验证协议包执行过程ftp身份验证过程如图2.5所示。协议包916是用户身份的协议执行过程 协议包9:ftp客户发送给ftp服务器的user命令协议包协议包10:ftp服务器发送给ftp客户对user命令的应答包协议包12:ftp客户发送给ftp服务器的带有用户名与密码的应答包4、ftp数据连接建立过程ftp数据连接建立分为:连接建立准备、连接建立阶段(1)连接建立准备过程,如图2.6所示。协议包17、18完成数据连接建立准备工作协议包17:ftp客户发送给ftp服务器的port命令包协议包18:ftp服务器发送给ftp客户的port命令应答包协议包19: ftp客户发送给ftp服务器的retr命令包(2)数据连接建立过程如图2.7所示。5、ftp数据传输过程ftp数据传输过程如图2.8所示。协议包23:ftp服务器向ftp客户发回文件netstart的状态信息协议包25:ftp服务器向ftp客户发送的检索文件的数据包协议包26: ftp服务器在传输数据的同时,向ftp客户发送在文件传输结束时6、ftp连接释放过程ftp连接释放包括控制连接释放和数据连接释放,图2.9展示了控制连接释放过程。3 安装和配置ftp服务器3.1 vsftpd服务的安装和启动(1)安装首先检查vsftpd服务的安装情况,可以检查vsftpd rpm包情况,在字符终端输入如下命令:# rpm qa | grep vsftpd如果系统没有安装,可以把red hatenterprise linux 5 安装光盘的第三章放入光驱,输入:# rpm ivh vsftpd-2.0.5-8.i386.rpm(2)启动使用如下命令对vsftd服务器的启动、停止与重新启动及状态的查看:# service vsftpd start# service vsftpd stop# service vsftpd restart # service vsftpd status3.2 vsftpd服务的默认配置信息(1)配置文件red hat enterprise linux 5 中的默认配置文件有三个:/etc/vsftpd/vsftpd.conf是主配置文件默认配置如图3.1所示。图3.1 vsftpd.conf默认设置主配置文件vsftpd.conf的相关参数解析:anonymous_enable=yes 是否允许匿名ftp,如否则选择no local_enable=yes 是否允许本地用户登录 local_umask=022 默认的umask码 anon_upload_enable=yes 是否允许匿名上传文件 anon_mkdir_write_enable=yes 是否允许匿名用户有创建目录的权利 dirmessage_enable=yes 是否显示目录说明文件,默认是yes但需要手工创建.message文件 xferlog_enable=yes 是否记录ftp传输过程 connect_from_port_20=yes 是否确信端口传输来自20(ftp-data) chown_upload=yes chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主 xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log xferlog_std_format=yes 是否使用标准的ftp xferlog模式 idle_session_timeout=600 设置默认的断开不活跃session的时间 data_connection_timeout=120 设置数据传输超时时间 nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody async_abor_enable=yes 是否允许运行特殊的ftp命令async abor.ascii_upload_enable=yes 是否使用asscii方式上传文件ascii_download_enable=yes 是否使用ascii码方式下载文件 ftpd_banner=welcome to chenlf ftp service. 定制欢迎信息 deny_email_enable=yes banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名 chroot_list_enable=yes chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表 max_clients=number 如果以standalone模式起动,那么只有$number个用户可以连接,其他的用户将得到错误信息,默认是0不限止 message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message /etc/vsftpd.ftpusers指定了本地用户不能访问ftp服务/etc/vsftpd.user_list是主配置文件中设定的允许访问ftp服务的本地用户,userlist_deny = yes ,则不允许本地用户访问;否则,允许本地用户访问。3.2 配置自己的ftp服务器要求:1.允许匿名用户访问,上传文件2添加两个本地用户localuser1,localuser2,不许localuser2访问ftp服务器。3.设置连接欢迎语修改后的vsftpd.conf文件内容如图3.2所示。图3.2 修改后的vsftpd.conf配置禁止本地用户localtest2登录ftp服务器,在vsfptd.user_list添加一个账户:localtest2,如图3.3所示。图3.3 vsftpd.user_list 配置设置ftp站点欢迎语,修改vsftpd_banner_file配置文件,修改内容如图3.4所示。图3.4 vsftpd_banner_file 配置当以本地用户localtest1登录ftp站点时,显示本地用户欢迎词,在localtest1账户下添加的.message文件如下,文件内容如图3.5所示。图3.5 .message文件4 测试4.1 ftp服务器命令简介 ftp cd 更改远程计算机上的工作目录。格式:cd remote-directory说明:remote-directory 指定要更改的远程计算机上的目录。 ftp close 结束与远程服务器的 ftp 会话并返回命令解释程序。 ftp debug 切换调试。当调试打开时,发送到远程计算机的每个命令都打印,前面是字符串“”。默认情况下,调试是关闭的。 ftp delete 删除远程计算机上的文件。格式:delete remote-file说明:remote-file 指定要删除的文件。 ftp dir 显示远程目录文件和子目录列表。格式:dir remote-directory local-file说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。 ftp disconnect 从远程计算机断开,保留 ftp 提示。 ftp get 使用当前文件转换类型将远程文件复制到本地计算机。格式:get remote-file local-file说明:remote-file 指定要复制的远程文件。local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。 ftp mkdir 创建远程目录。格式:mkdir directory说明:directory 指定新的远程目录的名称。ftp mls 显示远程目录文件和子目录的缩写列表。 格式:mls remote-files . local-file说明:remote-files 指定要查看列表的文件。必须指定 remote-files;请键入- 使用远程计算机上的当前工作目录。local-file 指定要存储列表的本地文件。请键入 - 以在屏幕上显示列表。 ftp mput 使用当前文件传送类型将本地文件复制到远程计算机上。格式:mput local-files .说明:local-files 指定要复制到远程计算机的本地文件ftp open 与指定的 ftp 服务器连接。格式:open computer port说明:computer 指定要连接的远程计算机。可以通过 ip 地址或计算机名称指定计算机(dns 或主机文件必须可用)。如果自动登录打开(默认),ftp 还将尝试自动将用户登录到 ftp 服务器port 指定用来联系 ftp 服务器的端口号。 ftp put 使用当前文件传送类型将本地文件复制到远程计算机上。格式:put local-file remote-file说明:local-file 指定要复制的本地文件。remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。 ftp pwd 显示远程计算机上的当前目录。 ftp quit 结束与远程计算机的 ftp 会话并退出 ftp。 quote 与 literal 相同。格式:quote argument .说明:argument 指定要发送到 ftp 服务器的参数。 ftp recv 使用当前文件传送类型将远程文件复制到本地计算机。recv 与 get相同。 ftp rename 重命名远程文件。格式:rename filename newfilename说明:filename 指定要重命名的文件。 newfilename 指定新的文件名。 ftp status 显示 ftp 连接和切换的当前状态。 ftp trace 切换数据包跟踪。trace 在运行 ftp 命令时显示每个数据包的路由。 ftp type 设置或显示文件传送类型。格式:type type-name说明:type-name 指定文件传送类型。默认设置为 asc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论