任务12 跨网络文件传输_第1页
任务12 跨网络文件传输_第2页
任务12 跨网络文件传输_第3页
任务12 跨网络文件传输_第4页
任务12 跨网络文件传输_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

任务12跨网络文件传输

任务引入

企业为了宣传自己,方便用户得到公司产品等相关信息,同时加强与合作单位的沟通,决定架设一台FTP服务器,具体要求如下:将/home/ftp目录作为开放目录,允许所有互联网用户匿名访问,允许下载目录中的信息,但禁止上传、修改、删除。为所有公司的合作单位开放/home/ftp/hzdw目录,允许上传和下载资料,但不可删除目录中的数据。上述目录中的数据由公司市场部的员工geyu负责维护,即员工geyu有可读、写、删除服务器中的数据权限。任务实施流程

1.创建相关用户和用户组2.创建目录并设置目录权限3.安装FTP服务器软件4.配置FTP服务器12.1FTP简介

12.1.1FTP原理FTP(FileTransferProtocol)的中文意思是文件传送协议。用于在Internet上任意两台计算机之间传送文件。根据FTP服务器是主动还是被动连接客户端,FTP服务模式有两种:主动模式和被动模式。1.主动(Active)模式在FTP的主动模式下,FTP客户端随机开启一个大于1024的TCP端口(PortN)连接服务器的21端口,当完成三次握手后,建立起控制连接。之后客户端通过控制连接向服务器发出portcommand,告诉服务器客户端开启N+1端口(PortN+1)用于数据通道,然后服务器用20端口与客户端所通知的PortN+1端口建立数据连接,成功后开始发送数据(见图12.1所示)。图12.1FTP主动传输模式2.被动(Passive)模式在FTP被动模式下,FTP客户端开启一个随机端口连接FTP服务器的21端口,建立控制连接。这一步骤与主动模式控制连接一致,只是之后客户端向FTP服务器发送的是PASV命令,通知服务器处于被动模式。服务器收到命令后会开放一个大于1024的随机端口(PortM),并通知客户端。客户端用N+1端口与服务器的端口M建立连接,然后在这两个端口间传输数据(见图12.2所示)。图12.2FTP被动模式12.1.2匿名FTP服务器和系统FTP服务器根据FTP服务的对象不同,可将FTP服务器分成匿名FTP服务器和系统FTP服务器。1.匿名(Anonymous)FTP服务器匿名FTP服务器是一种向公众提供文件拷贝服务,而不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器授权的FTP服务器。当FTP用户与远程FTP服务器建立连接并以匿名身份从服务器上拷贝文件时,可不必是该服务器的注册用户。用户只需使用特殊的用户名“anonymous”登陆FTP服务,就可访问服务器上公开的文件。2.系统FTP服务器与匿名FTP服务器不同的是系统FTP服务器仅允许合法用户访问服务器资源。当FTP用户与远程FTP服务器建立连接时,必须提供用户名和正确密码,否则禁止访问。12.1.3Linux平台上的FTP服务器软件目前运行于Linux系统上的FTP服务器软件有很多,常用的FTP服务器软件有Wu-ftp、vsFTP、Proftpd等。1.Wu-ftpWu-ftp是WashingtonUniversityFTP的简写,是最早的FTP软件之一,也曾经是Internet最流行的FTP软件。Wu-ftp拥有许多强大的功能,适用于吞吐量很大的FTP服务器的管理要求。支持虚拟FTP主机(VirtualFTPServer)。可以对不同网络上的机器做不同的存取限制。可以在用户下载的同时对文件自动做压缩或解压缩工作。可以设置最大连接数,提高了效率,有效地控制了负载。能暂时关闭FTP服务器,以便系统维护。2.VsFTPVsFTP的全称是VerySecureFTP,从名称可以看出,编制者的初衷是代码的安全。适用于搭建高安全、高稳定性、中等以上性能的FTP服务器。具有非常高的安全性。支持带宽限制。可以做基于多个IP的虚拟FTP主机服务器。支持虚拟用户,并且每个虚拟用户可以具有独立的属性配置。高稳定性和中等以上的性能。3.ProftpdProftpd的全称是ProfessionalFTPdaemon,这是一个在自由软件基金会的版权声明(GPL)下开发、发布的免费软件。Proftpd是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点。12.2proftpd的安装和配置

12.2.1安装Proftpd在DebianLinux中用apt软件可安装Proftpd。[root@server~]#apt-getinstallproftpd12.2.2配置Proftpd1.proftpd.conf文件结构#全局设置设置项目1参数1设置项目2参数2…#关于匿名主机的设置<Anonymous>#某个目录的设置<Directory“路径名”><Limit动作></Limit>…</Directory>…</Anonymous>#关于虚拟主机的设置<VirtualHost>…</VirtualHost>可见,proftpd的配置主要分以下几个部分:全局配置:用来设置对整个FTP服务器作用的参数。容器的配置:这里的容器是指由“<>”开始到“</>”结束的一对标签所包含的部分。容器可能是虚拟主机容器、匿名主机容器、目录容器、Limit容器等,其中主机容器可以包含目录容器或Limit容器,目录容器可以包含Limit容器等。2.全局配置在全局配置中主要设置FTP服务器的运行模式、运行端口、最大连接数、断点续传等与整个服务器相关的参数。常用参数有以下几个。(1)ServerName:设置在登录时所显示的服务器名称,缺省是:“ProFTPDDefaultInstallation”可以根据个人情况修改。(2)ServerType:设置FTP服务器工作模式,可以是Stand-alone或xinetd。(3)DefaultServer:设置是否启用虚拟FTP,on为支持,off是关闭。(4)Port:设置主机监听端口,默认为21端口。(5)Umask:设置Umask值,默认是022。(6)MaxInstances:设置最大连接请求,即服务器能处理的并发请求。系统默认为30,可根据服务器性能调整大小,性能较好可设置大些,但也不要过大,防止DoS攻击。(7)User:指定运行proftpd进程的用户ID,处于安全方面考虑,系统默认为nobody用户。(8)Group:指定运行proftpd进程的用户的组ID,从安全考虑,系统默认为nogroup用户组。(9)DefaultRoot:限制FTP用户只能在指定的目录,而不能访问上级或其他目录。为安全考虑,最好用上这一项设置。例:设置用户只能在自己家目录中。DeftultRoot~(10)AllowRetrieveRestart:设置是否支持断点续传(下载),开关on表示支持;off不支持,默认为支持。(11)AllowStoreRestart:设置是否支持断点续传(上传),on支持;off不支持。例:设置FTP服务器支持断点续传功能。AllowRetrieveRestartonAllowStoreRestarton(12)MaxClients:设置最大在线用户数,默认为10个用户。(13)MaxClientsPerHost:设置每个IP允许有几个连接。例:设置FTP服务器只允许每个IP有一个连接。MaxClientsPerHost1"对不起,一个IP只允许一个连接"(14)ServerIdent:设置如何显示服务器信息,为安全考虑,可设为off,将服务器信息显示关闭,这样用户登录时相关信息可以用下面的DisplayLogin

welcome.msg来实现。(15)DisplayLogin

welcome.msg:设置当用户登录时的欢迎词文件是welcome.msg文件。(16)DisplayFirstChdir.message:设置当用户在FTP服务器中改变目录时,用.message文件的内容显示给用户。(17)SystemLog:设置系统运行日志的文件名和位置。(18)TransferLog:设置文件传输日志的文件名和位置。2.匿名服务器的配置下面是一个匿名FTP的配置示例。<Anonymous~ftp>UserftpGroupnogroupUserAliasanonymousftpRequireValidShelloffMaxClients10DisplayLogin

welcome.msgDisplayFirstChdir.message<Directoryincoming>Umask022022<LimitREADWRITE>DenyAll</Limit></Directory></Anonymous>从示例可以知道,匿名FTP的配置是从<Anonymous>到</Anonymous>的部分。其中有些参数的设置与全局配置相同,事实上,同其他Linux服务的配置一样,凡是局部配置与全局配置冲突的,以局部配置为优先。匿名FTP服务常用参数的配置有以下几种。(1)<Anonymousdirectory>:设置匿名FTP服务器,并设置该服务器的根目录。例如:配置匿名FTP服务器,并设置/var/ftp目录为该匿名FTP的根目录。<Anonymous/var/ftp></Anonymous>(2)User、Group:设置登录FTP主机用户的用户名和用户组。(3)UserAlias:设置登录匿名FTP服务器的别名(即登录时除了可用anonymous这个匿名账号,还可用其别名ftp登录)。(4)RequireValidShell:设置登录FTP服务器时用户shell设置是否关闭。on为打开,即登录用户在passwd文件中没有正常shell设置将无法登录;off为关闭,登录用户没有正常shell设置也可登录。3.目录容器的设置目录容器是指以<Directory>开始到</Directory>结束的部分。目录容器主要是指定相应的目录,然后通过Limit容器来设定对该目录的操作权限和作用对象。例如:设置market组的成员对FTP服务器的/var/upload目录没有写操作权限。<Directory/var/upload><LimitWRITE>DenyGroupmarket</Limit></Directory>4.Limit容器的设置在proftpd的配置中用到比较多的是有关Limit的使用。熟练掌握Limit的使用可灵活配置有各种需求的FTP服务器。Limit主要有Limit动作和Limit应用对象两部分组成。(1)Limit动作Limit动作较多,基本覆盖了全部的操作权限。具体的Limit动作及其作用见表12.1动作作用CMD改变目录(ChangeWorkingDirectory)MKD建立目录的权限(MaKeDirectory)RNFR更改目录名的权限(ReName

FRom)DELE删除文件的权限(DELEte)RMD删除目录的权限(ReMoveDirectory)RETR从服务端下载到客户端的权限(RETRieve)STOR从客户端上传到服务端的权限(STORe)READ可读的权限,不包括列目录的权限,相当于RETR,STAT等WRITE写文件或者目录的权限,包括MKD和RMD等DIRS是否允许列目录ALL所有权限LOGIN是否允许登陆的权限例如:设置所有用户对/home/ftp目录可读可写。<Directory/home/ftp><LimitREADWRITE>Allowall</Limit></Directory>例如:设置除bill用户外其余用户可登陆。<LimitLOGIN>allowuser!bill</Limit>(2)Limit应用对象Limit的动作设置仅仅是设定一种操作权限,最终这种操作权限针对哪些用户,是允许还是禁止还要有Limit的应用对象决定。Limit的应用对象包括以下范围(见表12.2)。应用对象说明AllowUser针对某个用户允许的LimitDenyUser针对某个用户禁止的LimitAllowGroup针对某个用户组允许的LimitDenyGroup针对某个用户组禁止的LimitAllowAll针对所有用户允许的LimitDenyAll针对所有用户禁止的Limit例如:设置所有用户对/home/student目录能读、不能删除和改名,admin用户组可删除和改名。<Directory/home/student><LimitREAD>Allowall</Limit><LimitDELERNFR>AllowGroupadmin</Limit><LimitDELERNFR>Denyall</Limit></Directory>5.虚拟主机的设置proftpd可以利用一台FTP服务器创建多个虚拟FTP主机,虚拟主机可以是基于不同IP地址的,也可基于不同的端口。例如:创建三个虚拟FTP服务器,其中第一台使用地址,21端口,第二台使用地址,21端口,第三台使用地址,2111端口。<VirtualHost>ServerName"FTPServer1"Port21……</VirtualHost><VirtualHost>ServerName"FTPServer2"Port21……</VirtualHost><VirtualHost>ServerName"FTPServer3"Port2111……</VirtualHost>例:设置一个FTP虚拟主机(),要求FTP根目录为/home/test目录,仅允许test用户登录,且有上传和下载的权限,限制用户不能访问上级或其他目录,并设置下载速率为100KB/s,上传速率为50KB/s,支持断点续传。<VirtualHost>ServerName"VirtualFTPServer"UsertestDefaultRoot~test#设置test用户只能访问自己的目录AllowStoreRestarton#允许断点续传(上传),断点续传(下载)是默认支持的,不用设TransferRateRETR50usertestTransferRateSTOR100usertest#设置下载和上传的速率<LimitLOGIN>denyuser!test</Limit>#设置仅允许test用户登录,“!”是排除的意思<Directory~test><LimitSTORRETR>allowusertest</Limit></Directory>#设置test用户有上传和下载权限</VirtualHost>12.2.3FTP服务器的启动和停止在proftpd.conf文件配置好后,需要启动FTP服务器以使配置生效。在DebianLinux下启动proftpd的命令如下。[root@server~]#/etc/init.d/proftpdstart如果FTP服务器已经启动,则需要重启服务器,否则新的配置无法有效。重新启动prtpd的命令如下。[root@server~]#/etc/init.d/proftpdrestart可使用以下命令停止FTP服务器的运行。[root@server~]#/etc/init.d/proftpdstop12.3FTP客户端的使用

12.2.2Linux环境下访问FTP服务器在Linux环境下可直接使用命令访问或在桌面环境下使用浏览器或FTP客户端软件访问。1.使用命令访问在Linux命令行终端下直接输入ftp命令进行访问。ftp命令的格式如下。ftp[-uusername]<ServerName>其中:-u:用来指出访问FTP服务器的用户名称,对匿名FTP服务器根据配置可以是anonymous或ftp。用户账号也可在登录时输入。ServerName:FTP服务器的域名或IP地址。例如:用test账号登录FTP服务器(IP地址为)。[root@server~]#ftp-utestpassword:test@:~>在登录成功后可使用ls、mkdir等命令操作,用exit命令退出FTP,使用help命令可给出命令帮助。2.使用浏览器访问在DebianLinux桌面环境下可通过浏览器访问FTP服务器,方法是在浏览器的地址栏输入“ftp://FTP服务器IP地址(或域名)”格式的地址就可。对匿名FTP服务器,可直接访问,对非匿名FTP服务器,还需输入用户名和密码。3.使用FTP客户端访问FTP客户端主要是指一些第三方的软件,在Linux平台下有多种FTP客户端软件提供,如CuteFTP、gftp、FileZilla、kftpgrabber等。12.2.2Windows环境下访问FTP服务器1.使用DOS命令访问在Windows命令行窗口,输入ftp命令可访问FTP服务器。例:在Windows命令行窗口,访问匿名FTP服务器。C:\DocumentsandSettings\Administrator>ftpConnectedtoUser<:<none>>:anonymousPassword:230Loginsuccessful.ftp>2.使用浏览器访问在Windows环境下使用浏览器访问FTP服务器,除所用浏览器不同外方法相同。任务实施

1.创建用户和用户组创建一个各合作单位相关账号和用户组vip组,并将合作单位的账号放入vip组。[root@server~]#groupadd

vip[root@server~]#useradd-gvipftp1#创建合作单位一的账号ftp1并加入vip组[root@server~]#useradd-gvipftp2#创建合作单位的二的账号ftp2并加入vip组2.创建目录并设置权限[root@server~]#mkdir/home/ftp/[root@server~]#mkdir/home/ftp/hzdw[root@server~]#chown-Rgeyu:vip/home/ftp#设置目录的属主为geyu,用户组为vip3.安装proftpd[root@server~]#apt-getupdate[

温馨提示

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

评论

0/150

提交评论