《Linux网络操作系统教程》课件 项目11 配置ftp服务实现文件传输_第1页
《Linux网络操作系统教程》课件 项目11 配置ftp服务实现文件传输_第2页
《Linux网络操作系统教程》课件 项目11 配置ftp服务实现文件传输_第3页
《Linux网络操作系统教程》课件 项目11 配置ftp服务实现文件传输_第4页
《Linux网络操作系统教程》课件 项目11 配置ftp服务实现文件传输_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

《Linux网络操作系统实用教程》项目十一

配置ftp服务实现文件传输知识CAPACITY目标理解FTP服务的功能和优点。理解FTP服务的工作原理。理解FTP服务主配置文件内容。技能CAPACITY目标掌握FTP服务基于匿名用户访问的配置。掌握FTP服务基于本地用户身份访问的配置。掌握FTP服务基于虚拟用户访问的配置。思政IDEOLOGY目标

通过配置FTP服务安全性培养学生树立谨慎、安全的防范意识通过拓展阅读培养学生防患于未然的危机意识项目知识准备项目导入项目实施项目实录:配置ftp服务实现文件传输一、项目导入背景现状校内用户下载数据和软件资源主要从互联网上下载,不但下载速率受限,也占据了网络出口大量带宽,为了在校园网内为师生提供便捷的数据资源下载服务,决定在本次校园网升级改造中部署文件服务器,为校内用户提供高速下载资源服务。需求分析选择适合Linux系统的服务软件

高速安全的vsftpd服务软件

FTP服务的规划

主目录、下载速率、身份验证、访问权限内外所有用户访问资源

匿名访问

读取权限、下载速率控制管理FTP站点

基于本地用户身份访问

读写权限更高的安全性

限制用户切换主目录、配置虚拟用户访问ftp站点项目知识准备项目导入项目实施项目小结二、项目知识准备11.1FTP服务概述FTP(FileTransferProtocol,FTP)中文译为文件传输协议,是TCP/IP协议栈中应用层最重要协议之一,基于C/S(Client/Server,C/S)工作模式,实现两台计算机之间文件的高速可靠传输,两台计算机分别称为FTP服务器和FTP客户机,FTP服务器集中提供和管理资源,客户机可通过FTP协议下载服务器的资源。用户经过身份验证满足一定权限时,FTP客户机也可上传资源到服务器。FTP服务器和客户机可以位于不同网络中,使用不同的操作系统,但一般在同一局域网中使用FTP服务更高效快速。FTP服务可以提供高速下载站点,在不同类型计算机之间高速传输文件,组建文件服务器,实现远程网站维护和更新。可通过此“/domain/”站点地址,体会访问和下载FTP服务器中的资源。二、项目知识准备11.2FTP服务工作原理FTP服务采用客户端/服务端模式,FTP服务端使用两个熟知端口21和20,端口21对应的是控制进程,用来和客户端连接进程交互信息建立TCP连接,维持连接状态及最后释放TCP连接;端口20对应的是数据传输进程,用来和客户端数据传输进程进行数据传输,但服务进程也可以用随机端口传输数据。二、项目知识准备11.2FTP服务工作原理(1)FTP服务器控制进程在21端口监听客户端连接请求,FTP客户连接进程使用临时端口1028向FTP控制进程发送一个TCP连接请求消息;FTP控制进程通过端口21在负载允许下响应连接请求,返回确认消息给客户端,可靠TCP连接建立;(2)FTP客户连接进程和FTP控制进程维持TCP会话连接;(3)FTP客户数据传输进程通过临时端口1032和FTP服务端数据传输进程端口20建立数据传输连接,并通过数据通道传输数据;(4)数据传输结束,释放数据传输连接通道;(5)最后释放TCP会话连接。二、项目知识准备11.3FTP服务的主动模式和被动模式FTP是一个比较特殊的服务,使用传输层可靠TCP协议建立FTP客户端和服务端通信的控制连接通道和数据传输通道。同时FTP服务端使用21和20两个端口,21端口标识服务端控制连接进程,控制通道传输客户端向服务器端发送的操作命令和服务器返回的应答信息;20端口表示服务端数据传输进程,数据通道传输服务端和客户端的文件和文件列表数据。但FTP服务对数据传输是否使用20端口根据服务器和客户机网络部署和安全规划具有可选性,所有FTP协议有两种工作方式:主动方式和被动方式。二、项目知识准备11.3FTP服务的主动模式和被动模式主动方式是指在控制通道建立后,客户端向服务器端发送PORT(IPAddr,N1,N2)命令,IPAddr表示客户机IP地址,N1和N2参数告诉服务端传输数据客户端使用的临时端口号为表达式“N1×256+N2”的值,设为Pc,服务端在传输数据时使用20端口主动发起到客户端Pc端口的数据连接,完成数据传输,服务器在数据通道建立时处于主动方式。被动方式又称为PASV方式,是指在控制通道建立后,客户端向服务端发送PASV命令,宣告下面数据传输进入被动方式,服务器收到PASV命令,返回的响应信息为enteringpassivemode(IPAddr,N1,N2),IPAddr表示服务器IP地址,N1和N2参数告诉客户端传输数据服务端使用的临时端口号为表达式“N1×256+N2”的值,设为Ps。客户端在传输数据时用操作系统临时分配的大于1024端口号主动发起到服务器端Ps端口的数据连接,完成数据传输,服务器在数据通道建立时处于被动方式。二、项目知识准备11.3FTP服务的主动模式和被动模式两种模式传输数据时服务端使用的端口不同,主动方式开启服务器的21和20端口,而被动方式需要开启服务器所有大于1024端口号的TCP高端口和21端口。(1)主动方式适合部署在内网的FTP服务器对外网提供服务,因为内网出口处安装的防火墙一般会屏蔽外网客户机主动发起到服务器的数据连接请求,而不会屏蔽服务器发起到外网的连接请求。外网客户机通过主动方式下的port命令,把传输数据端口通知服务器,客户机在此端口监听,等待内网FTP服务器从20端口主动发起到外网的数据连接请求完成数据传输通道建立。(2)被动方式适合内网客户机主动访问外网的FTP服务器,因为内网出口处安装的防火墙或客户机自己安装的防火墙会屏蔽外网FTP服务器主动发起到内网或客户机的数据连接请求。内网客户机通过发送pasv命令到服务器,服务器通过应答信息把数据传输的高端口通知客户机,服务器在此端口监听,客户机主动发起从内网到外网FTP服务器高端口的数据连接请求完成数据传输通道建立。(3)从网络安全的角度分析,通过主动方式使用知名端口20进行传输数据,黑客容易使用一些抓包工具窃取FTP数据,获得数据中的敏感信息,造成安全威胁,因此使用PASV方式来架设FTP服务器是比较安全的选择。但PASV方式需要开启服务器大于1024的所有TCP高端口,对服务器来说存在安全隐患。可通过防火墙的状态检测功能,检测到客户端连接FTP服务器的21端口,就允许数据传输进程使用FTP服务高端口,其它方式是无法打开到FTP服务高端口的通道。通过状态检测防火墙就可以保证FTP服务高端口只对FTP服务开放。二、项目知识准备11.4FTP服务配置准备知识FTP服务系统由服务器软件、客户端软件和FTP通信协议三部分组成。服务端软件主要有基于Windows服务器自带的IIS(InternetInformationServer,IIS)服务组件和基于Linux系统vsftpd软件实现FTP服务。访问FTP服务的客户端软件有DOS命令行、浏览器、资源管理器等。二、项目知识准备11.4FTP服务配置准备知识vsftpd软件vsftpd软件是基于GPL发布基于Linux/Unix系统的FTP服务器软件,vsftpd的全称是“verysecureFTPdaemon”(非常安全的守护程序)。是一个完全免费的、开放源代码的FTP服务器软件,支持很多其它的FTP服务器所不支持的特征。具有非常高的安全性需求、效率高、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。vsftpd软件实现文件的传输模式有文本模式和二进制模式。文本模式在传输文件时使用ASCII字符序列传输数据,只适合传输用HTML和文本编辑器编写的文件。二进制模式以二进制序列传输数据,适合传输程序、压缩包、图片等文件。二、项目知识准备11.4FTP服务配置准备知识vsftpd软件FTP服务端和FTP客户端软件能自动识别文件类型,并采用相应的传输模式。vsftpd软件实现FTP服务的用户访问类型分为三种。(1)匿名用户:即客户端匿名访问FTP服务,默认用户名为anonymous或ftp,密码默认为guest;(2)本地用户:即客户端访问FTP服务时,输入的用户名、密码等信息基于服务端的/etc/passwd、/etc/shadow文件进行身份验证;(3)虚拟用户:在FTP服务端建立独立的认证文件保存用户名和密码中,客户端访问FTP服务时输入的用户名和密码基于服务端建立的独立认证文件来进行身份验证,和系统用户信息完全分离,系统安全性进一步提高。项目设计与准备项目知识准备项目实施项目实录:配置ftp服务实现文件传输三、项目实施项目任务分解列表三、项目实施任务1实训环境准备具体要求:二台计算机构建实训环境:一台centos7.9虚拟机配置为FTP服务器;一台windows10系统作为客户端,测试能否访问FTP服务器;虚拟机通信模式设置Nat模式,手动配置IP地址等参数。Step1:设置网络通信和配置IP地址。具体参考项目8任务1。Step2:配置yum工具使用环境。具体参考项目8任务1。三、项目实施任务2vsftpd服务包安装和启动Step1:Step1:vsftpd软件包的安装。观察安装成功提示信息。Step2:启动FTP服务和设置下次开机自启。[root@ftpserver~]#rpm-qa|grepvsftpd//查询是否安装vsftpd包[root@ftpserver~]#yum-yinstallvsftpd......//省略部分安装信息已安装:vsftpd.x86_640:3.0.2-28.el7完毕![root@ftpserver~]#systemctlstartvsftpd[root@ftpserver~]#systemctlenablevsftpd三、项目实施任务2vsftpd服务包安装和启动Step3:关闭Firewalld防火墙,设置SELinux安全子系统放行所有访问。[root@ftpserver~]#systemctlstopfirewalld//或设置firewalld防火墙允许客户端访问FTP服务[root@ftpserver~]#firewall-cmd--permanent--add-service=ftpsuccess[root@ftpserver~]#firewall-cmd--reloadSuccess[root@ftpserver~]#setenforce0三、项目实施任务3验证匿名用户访问ftp站点默认主目录Step1:使用windows系统的资源管理器匿名访问FTP服务。访问成功的效果如图所示,匿名用户可访问FTP服务器默认主目录“/var/ftp/”中资源,pub是默认下载资源目录。匿名用户对主目录访问权限只能读取,对主目录没有写入权限。Step2:使用windows系统的DOS命令行窗口匿名访问FTP服务。如图所示操作步骤,打开windows系统的命令行,使用命令验证匿名访问FTP服务。匿名访问FTP服务不需要进行身份验证,但默认匿名用户名为ftp或anonymous,密码默认为guest。三、项目实施任务3验证匿名用户访问ftp站点默认主目录//windows客户端DOS命令行访问FTP服务操作C:\Windows\System32>ftp1连接到1。220(vsFTPd3.0.2)200AlwaysinUTF8mode.用户(1:(none)):ftp

//输入用户名,此处ftp代表匿名用户331Pleasespecifythepassword.密码://输入用户密码,匿名用户的密码为空或guest230Loginsuccessful.//匿名访问登录成功ftp>dir

//显示FTP服务器默认主目录下的文件列表drwxr-xr-x2006Oct132020pub226DirectorysendOK.ftp:收到64字节,用时0.00秒64.00千字节/秒。ftp>mkdirtest

//在FTP服务器主目录下创建子目录550Permissiondenied.//权限被拒绝,表明匿名用户在默认主目录下没有写入权限ftp>help

//查看dos命令行操作FTP服务可使用的命令ftp>bye

//退出访问FTP服务三、项目实施任务4FTP服务主配置文件解读三、项目实施任务5改变匿名用户访问ftp站点的主目录具体要求:二台计算机构建实训环境:一台centos7.9虚拟机配置为FTP服务器;一台windows10系统作为客户端,测试能否访问FTP服务器;虚拟机通信模式设置Nat模式,手动配置IP地址等参数。Step1:建立匿名用户访问的主目录为/opt/test,并在此主目录下建立测试文件anon_test.txt和测试子目录mydir。[root@ftpserver~]#mkdir/opt/test[root@ftpserver~]#echomytestfile>/opt/test/anon_test.txt[root@ftpserver~]#mkdir/opt/test/mydirStep2:在虚拟机centos7.9系统打开FTP服务主配置文件,编辑此文件允许匿名用户访问指定目录。[root@ftpserver~]#vim/etc/vsftpd/vsftpd.confanonymous_enable=YES//查找此行已有,表示允许匿名用户访问anon_root=/opt/test //添加此行:设置匿名用户登录访问的主目录[root@ftpserver~]#systemctlrestartvsftpd//重启FTP服务三、项目实施任务5改变匿名用户访问ftp站点的主目录Step3:windows客户端验证匿名用户访问。如图所示匿名用户访问可读取“/opt/test”主目录中的测试文件,但对主目录没有写入权限。三、项目实施任务6配置本地用户身份访问ftp站点具体要求:扩展学校FTP服务器的功能,使其能维护学校的Web网站,包括上传文件、创建目录、更新网页等。学校指派特定用户(zhang)予以维护,zhang登录FTP服务器后直接进入Web网站的主目录/var/www/aftvc进行站点维护。Step1:在FTP服务器建立网站对应的主目录和测试文件。[root@ftpserver~]#mkdir-p/var/www/aftvc[root@ftpserver~]#echo"'sweb">/var/www/aftvc/local_ftp.txt三、项目实施任务6配置本地用户身份访问ftp站点Step2:在FTP服务器上建立本地用户zhang,对主目录有写入权限。[root@ftpserver~]#useraddzhang[root@ftpserver~]#passwdzhang[root@ftpserver~]#chown-Rzhang/var/www/aftvc/[root@ftpserver~]#ll-d/var/www/aftvc/drwxr-xr-x.2zhangroot278月1604:15/var/www/aftvc/Step3:打开FTP服务主配置文件,编辑此文件允许以本地用户zhang登录访问FTP服务器,并设置对主目录/var/www/aftvc有写入权限。[root@ftpserver~]#vim/etc/vsftpd/vsftpd.conf//查找以下各行并修改之,其他配置行保持默认local_enable=YES //默认已有:允许本地用户登录local_root=/var/www/aftvc //添加此行:设置以本地用户登录访问的主目录write_enable=YES //默认已有:设置允许写入权限[root@ftpserver~]#systemctlrestartvsftpd三、项目实施任务6配置本地用户身份访问ftp站点Step4:通过windows客户端资源管理器输入访问地址,验证以本地用户zhang身份访问FTP服务成功。三、项目实施任务6配置本地用户身份访问ftp站点Step5:打开windows系统DOS命令行,使用DOS命令验证本地用户访问FTP站点主目录有写入权限,包括上传文件和在主目录中新建子目录是否成功。C:\Windows\System32>ftp1连接到1。用户(1:(none)):zhang//输入登录用户名331Pleasespecifythepassword.密码://输入登录密码ftp>ls//显示主目录下文件名列表…….local_ftp.txtftp:收到18字节,用时0.00秒18000.00千字节/秒。ftp>getlocal_ftp.txt//使用get命令下载文件ftp>putlocal_ftp.txtaftvc.txt//使用put命令上传文件并改名ftp>mkdirmydata//在主目录下新建子目录257"/var/www/aftvc/mydata"created//创建成功三、项目实施任务7配置用户访问FTP站点不能切换主目录具体要求:在任务6基础上,限制用户访问FTP站点主不能切换主目录。Step1:编辑FTP服务主配置文件限制列表内用户不能切换目录。[root@ftpserver~]#vim/etc/vsftpd/vsftpd.conf//查找以下各行并修改之,其他配置行保持默认chroot_local_user=NO//去掉#号,本地用户访问FTP服务都可切换目录chroot_list_enable=YES //去掉#号,列表内用户访问FTP服务不能切换目录chroot_list_file=/etc/vsftpd/chroot_list //去掉#号设置限制用户的列表文件名allow_writeable_chroot=YES//添加此行,被限的本地用户在主目录下有写权限Step2:编辑列表文件,添加受限用户,并重启FTP服务。[root@ftpserver~]#vim/etc/vsftpd/chroot_listzhang[root@ftpserver~]#systemctlrestartvsftpd三、项目实施任务7配置用户访问FTP站点不能切换主目录Step3:客户端通过DOS命令行验证列表内用户zhang受限不能切换目录。C:\Windows\System32>ftp1连接到1。220(vsFTPd3.0.2)200AlwaysinUTF8mode.用户(1:(none)):zhang331Pleasespecifythepassword.密码:230Loginsuccessful.ftp>pwd//查看当前主目录路径257"/var/www/aftvc"ftp>cd/etc//切换到其它目录550Failedtochangedirectory.//提示用户zhang切换目录失败Step4:FTP服务器上新建不属于受限列表文件内的用户wang。[root@ftpserver~]#useraddwang[root@ftpserver~]#passwdwang三、项目实施任务7配置用户访问FTP站点不能切换主目录Step5:windows客户端通过DOS命令行验证不在列表内用户wang可以切换目录。C:\Windows\System32>ftp1连接到1。220(vsFTPd3.0.2)200AlwaysinUTF8mode.用户(1:(none)):wang331Pleasespecifythepassword.密码:230Loginsuccessful.ftp>pwd257"/var/www/aftvc"ftp>cd/etc//切换目录250Directorysuccessfullychanged.//提示用户wang切换目录成功三、项目实施任务8配置虚拟用户访问FTP站点具体要求:为了学校FTP服务器的安全,不直接使用本地用户账户登录访问FTP站点,使用虚拟用户验证机制,并对不同虚拟用户设置不同的访问权限。同时,为了保证服务器的整体性能,需要对上传/下载流量进行控制。三、项目实施任务8配置虚拟用户访问FTP站点Step1:创建虚拟用户对应的本地用户,并设置用户对主目录有写权限。[root@ftpserver~]#useradd-s/sbin/nologinuser1[root@ftpserver~]#mkdir-p/ftp/aftvc/var/www/myweb[root@ftpserver~]#echo"aftvcinhefei">/ftp/aftvc/zhang3.txt[root@ftpserver~]#echo"mywebsite">/var/www/myweb/li4.txt[root@ftpserver~]#chownuser1/ftp/aftvc//var/www/myweb/[root@ftpserver~]#ll-d/ftp/aftvc//var/www/myweb/Step2:创建保存虚拟用户名和密码信息的文件vusers.txt。[root@ftpserver~]#vim/etc/vsftpd/vusers.txtzhang312345li412345三、项目实施任务8配置虚拟用户访问FTP站点Step3:检查、安装db_load转换工具(RHEL7中已默认安装)→将虚拟用户明文文件vusers.txt转化为数据库文件vusers.db→修改数据库文件访问权限,以防止被非法用户盗取。[root@ftpserver~]#cd/etc/vsftpd/[root@ftpservervsftpd]#db_load-T-thash-fvusers.txtvusers.db[root@ftpservervsftpd]#file/etc/vsftpd/vusers.db//查看密码数据文件/etc/vsftpd/vusers.db:BerkeleyDB(Hash,version9,nativebyte-order)[root@ftpservervsftpd]#chmod600/etc/vsftpd/vusers.*三、项目实施任务8配置虚拟用户访问FTP站点Step4:建立用户登录时进行身份验证的PAM认证文件。为了使服务器能够使用数据库文件对客户端进行身份验证,需要对PAM(PlugableAuthenticationModule,可插拔认证模块)认证程序的位置、认证方式和认证对象等进行配置。存放PAM认证文件的目录为“/etc/pam.d/”,此目录下保存了与认证有关的多个配置文件,其中“/etc/pam.d/vsftpd”为FTP服务使用的默认PAM认证文件,用户可复制该文件后建立自己的PAM认证配置文件。[root@ftpservervsftpd]#cp-p/etc/pam.d/vsftpd/etc/pam.d/vuser.vu[root@ftpservervsftpd]#vim/etc/pam.d/vuser.vu#%PAM-1.0//在原文件内容前添加两行用于控制虚拟用户的验证配置行authsufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/vusersaccountsufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/vusers//保留以下原文件中所有默认内容(用于控制本地用户的验证配置行)sessionoptionalpam_keyinit.soforcerevokeauthrequiredpam_listfile.soitem=usersense=denyfile=/etc/vsftpd/ftpusersonerr=succeed......//省略部分三、项目实施任务8配置虚拟用户访问FTP站点Step5:修改vsftpd.conf主配置文件,添加对虚拟用户的支持,设置符合每个虚拟用户要求的共同配置。[root@ftpservervsftpd]#vim/etc/vsftpd/vsftpd.conflocal_enable=YES

//默认已有,使用虚拟用

温馨提示

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

评论

0/150

提交评论