Linux网络服务器配置管理项目实训教程课件项目9 配置与管理FTP服务器_第1页
Linux网络服务器配置管理项目实训教程课件项目9 配置与管理FTP服务器_第2页
Linux网络服务器配置管理项目实训教程课件项目9 配置与管理FTP服务器_第3页
Linux网络服务器配置管理项目实训教程课件项目9 配置与管理FTP服务器_第4页
Linux网络服务器配置管理项目实训教程课件项目9 配置与管理FTP服务器_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

项目9配置与管理FTP服务器主讲教师XXX项目9配置与管理FTP服务器FTP服务简介vsftpd服务器配置配置基于虚拟用户的FTP服务器典型vsftpd服务器配置案例掌握FTP服务的工作原理掌握vsftpd服务器的配置和虚拟用户的FTP服务器的配置方法vsftpd服务器的配置文件的修改虚拟用户FTP服务器的配置方法学习目标本章难点FTP服务概述FTP服务简介FTP工作原理FTP的传输模式FTP使用命令FTP服务简介FTP(FileTransferProtocol)是文件传输协议的缩写,它是Internet最早提供的网络服务功能之一,利用FTP服务可以实现文件的上传及下载等相关的文件传输服务FTP文件传输协议是一个用于从一台主机到网络中另外一台主机的传送文件的协议。FTP协议的历史可追溯1971年,当时因特网尚处于实验之中,不过至今仍然极为流行。FTP服务简介目前FTP服务主要应用于以下几个方面:文件的上传与下载;软件的高速下载;Web站点的维护与更新。FTP服务不受计算机类型以及操作系统的限制,无论是PC机、服务器、大型机,也不管操作系统是Linux、DOS还是Windows,只要建立FTP连接的双方都支持FTP协议,就可以方便地传输文件。目前在Linux系统下常见的FTP服务器软件有vsftpd、proftpd和wu-ftpd。在RedHatEnterpriseLinux4中默认带有vsftpd的安装软件包,本章将重点介绍vsftpd服务器的配置和管理。FTP工作原理FTP服务采用客户机/服务器模式,FTP客户机和服务器使用TCP建立连接。FTP服务器使用两个并行的TCP连接来传送文件,一个是控制连接,一个是数据连接。

控制连接用于在客户主机和服务器主机之间发送控制信息,例如用户名和口令、改变远程目录的命令、取得或放回文件的命令。数据连接用于真正传输文件。FTP会话的建立FTP客户机和服务器的会话建立过程中,具体经历以下几个阶段:当FTP客户机启动与远程FTP服务器间的一个FTP会话时,FTP客户机首先发起建立与FTP服务器21端口之间的控制连接,然后经由该控制连接把用户名和口令发送给服务器。客户机经由该控制连接把本地临时分配的数据端口告知服务器,以便服务器发起建立一个从FTP服务器端口20到客户机指定端口之间的数据连接。当用户每次请求传送文件时(无论上传或下载),FTP将在服务器的20端口打开一个数据连接(其发起端既可能是服务器,也可能是客户机)。当数据传输完毕后,用于建立数据连接的端口会自动关闭,到再有文件传送请求时重新打开。在FTP会话中,控制连接在整个用户会话期间一直处于打开状态,而数据连接则为每次文件传送请求重新打开一次。也就是说,在整个FTP会话过程中,控制连接是持久的,而数据连接是非持久的。FTP的数据传输模式FTP的数据传输模式是针对FTP数据连接而言的,分为主动传输模式、被动传输模式和单端口传输模式3种。主动传输模式:当FTP的控制连接建立后,且客户提出目录列表、传输文件时,客户端发出PORT命令与服务器进行协商,FTP服务器使用一个标准的端口20作为服务器端的数据连接端口(ftp-data)与客户建立数据连接。端口20只用于连接的源地址是服务器端的情况,并且在端口20上根本就没有监听进程监听客户请求。在主动传输模式下,FTP的数据连接和控制连接的方向是相反的,也就是说,是服务器向客户端发起一个用于数据传输的连接。客户端的连接端口是由服务器端和客户端通过协商确定的。FTP的数据传输模式被动传输模式:当FTP的控制连接建立后,且客户提出目录列表、传输文件时,客户端发送PASV命令使服务器处于被动传输模式,FTP服务器等待客户与其联系。FTP服务器在非20端口的其他数据传输端口(ftp—data)上监听客户的请求。在被动传输模式下,FTP的数据连接和控制连接的方向是一致的,也就是说,是客户端向服务器发起一个用于数据传输的连接。客户端的连接端口是发起这个数据连接请求时使用的端口号。当FTP客户在包过滤防火墙之后对外访问FTP服务器时,需要使用被动传输模式。单端口传输模式:如果客户程序既不向服务器发出PASV命令也不发送PORT命令,当FTP的控制连接建立后,且客户提出目录列表、传输文件时,FTP服务器就会使用FTP协议的数据传输端口20和客户端的控制连接源端口建立一个数据传输连接。这就需要客户程序在这个端口上监听。这种模式的数据连接请求是由FTP服务器发起的。使用这种传输模式时,客户端的控制连接所使用的端口和客户端的数据连接所使用的端口是一致的。由于这种模式无法在短时间连续输入数据、传输命令等,所以这种模式并不常用。FTP命令在Linux或Windows系统的字符界面下可以利用FTP命令登录FTP服务器,进行文件的上传、下载等操作。FTP命令的格式如下:

ftp主机名或IP地址。若连接成功,系统提示用户输入用户名和口令。在登录FTP服务器时,如果允许匿名用户登录,常见的匿名用户为anonymous和ftp,密码为空或者是某个电子邮件的地址。FTP的登录Windows下的FTP登录Linux下的FTP登录FTP常用命令在登录成功之后,用户就可以进行相应的文件传输操作了。其中常用到的重要命令如下:FTP>?:显示ftp命令说明。?与help相同。格式:?[command]。[command]指定需要帮助的命令名称。如果没有指定command,ftp将显示全部的命令列表。FTP>ascii:将文件传送类型设置为默认的ASCII。FTP支持两种文件传送类型,ASCII码和二进制图像。在传送文本文件时应该使用ASCII。FTP>binary(或bi):将文件传送类型设置为二进制。FTP>bell:切换响铃以在每个文件传送命令完成后响铃。默认情况下,铃声是关闭的。FTP常用命令FTP>bye:结束与远程计算机的FTP会话并退出ftp。FTP>cd:更改远程计算机上的工作目录。格式:cdremote-directoryFTP>delete:删除远程计算机上的文件。格式:deleteremote-fileFTP>dir:显示远程目录文件和子目录列表。

FTP>get:使用当前文件转换类型将远程文件复制到本地计算机。格式:getremote-file[local-file]FTP>lcd:更改本地计算机上的工作目录。默认情况下,工作目录是启动ftp的目录。格式:lcd[directory]FTP>mkdir:创建远程目录。格式:mkdirdirectoryFTP常用命令FTP>mput:使用当前文件传送类型将本地文件复制到远程计算机上。格式:mputlocal-filesFTP>pwd:显示远程计算机上的当前目录。FTP>quit:结束与远程计算机的FTP会话并退出ftp。FTP>rename:重命名远程文件。格式:renamefilenamenewfilenameFTP>rmdir:删除远程目录。格式:rmdirdirectoryFTP>status:显示FTP连接和切换的当前状态。FTP命令的返回值当执行不同命令时,会发现FTP服务器返回一组数字,不同的数字代表的不同的信息。常见的数字及表示的信息如表中所示。数字

含义数字含义125打开数据连接,传输开始230用户登录成功200命令被接受331用户名被接受,需要密码211系统状态,或者系统返回的帮助421服务不可用212目录状态425不能打开数据连接213文件状态426连接关闭,传输失败214帮助信息452写文件出错220服务就绪500语法错误,不可识别的命令221控制连接关闭501命令参数错误225打开数据连接,当前没有传输进程502命令不能执行226关闭数据连接503命令顺序错误227进入被动传输状态530登录不成功vsftpd服务器配置vsftpd服务的安装、启动与停止vsftpd服务器配置设置vsftpd服务以xinetd方式启动vsftpd服务的安装、启动与停止vsftpd服务安装首先,检查当前系统是否安装了vsftpd服务。如果系统没有安装vsftpd服务,也可以在系统安装过后单独安装。vsftpd服务的软件包在RedHatEnterpriseLinux4的第1张安装盘中,软件包为vsftpd-2.0.1-5.i386.rpm。插入第1张安装盘,然后进行挂载:

[root@RHEL4~]#mount/media/cdrom进入安装文件所在目录:

[root@RHEL4~]#cd/media/cdrom/RedHat/RPMS安装相应的软件包:

[root@RHEL4RPMS]#rpm-ivhvsftpd-2.0.1-5.i386.rpmvsftpd服务启动和停止vsftpd服务的启动:在RedHatEnterpriseLinux4中,默认以独立方式启动。所以输入下面的命令即可启动vsftpd服务。

[root@RHEL4~]#servicevsftpdstart

重新启动可以使用命令:

[root@RHEL4~]#servicevsftpdrestartvsftpd服务的停止:要停止vsftpd服务,可以使用命令:

[root@RHEL4~]#servicevsftpdstopvsftpd服务器配置vsftpd服务相关的配置文件/etc/vsftpd/vsftpd.conf:vsftpd服务器的主配置文件。/etc/vsftpd.ftpusers:在该文件中列出的用户清单将不能访问FTP服务器。/etc/vstpd.user_list:当/etc/vsftpd/vsftpd.conf文件中的“userlist_enable”和“userlist_deny”的值都为YES时,在该文件中列出的用户不能访问FTP服务器。当/etc/vsftpd/vsftpd.conf文件中的“userlist_enable”的取值为YES而“userlist_deny”的取值为NO时,只有/etc/vstpd.user_list文件中列出的用户才能访问FTP服务器。vsftpd.conf文件的常用配置参数登录及对匿名用户的设置

anonymous_enable=YES:设置是否允许匿名用户登录FTP服务器。local_enable=YES:设置是否允许本地用户登录FTP服务器。write_enable=YES:全局性设置,设置是否对登录用户开启写权限。anon_upload_enable=YES:设置是否允许匿名用户上传文件,只有在write_enable的值为yes时,该配置项才有效。anon_mkdir_write_enable=YES:设置是否允许匿名用户创建目录,只有在write_enable的值为yes时,该配置项才有效。ftp_username=ftp:设置匿名用户的帐户名称,默认值为ftp。no_anon_password=YES:设置匿名用户登录时是否询问口令。设置为YES,则不询问。vsftpd.conf文件的常用配置参数设置欢迎信息ftpd_banner=WelcometoblahFTPservice.:设置登录FTP服务器时显示的信息。dirmessage_enable=YES:设置进入目录时是否显示目录消息。若设置为YES,则用户进入目录时,将显示该目录中由message_file配置项指定文件(.message)中的内容。设置用户在FTP客户端登录后所在的目录

local_root=/var/ftp:设置本地用户登录后所在的目录,默认情况下,没有此项配置。在vsftpd.conf文件的默认配置中,本地用户登录FTP服务器后,所在的目录为用户的家目录。anon_root=/var/ftp:设置匿名用户登录FTP服务器时所在的目录。若未指定,则默认未/var/ftp目录。vsftpd.conf文件的常用配置参数客户连接相关的设置anon_max_rate=0:设置匿名用户的最大传输速度,若取值为0,则不受限制。local_max_rate=0:设置本地用户的最大传输速度,若取值为0,则不受限制。max_clients=0:设置vsftpd在独立启动方式下允许的最大连接数,若取值为0,则不受限制。accept_timeout=60:设置建立FTP连接的超时时间间隔,以秒为单位。connect_timeout=120:设置FTP服务器在主动传输模式下建立数据连接的超时时间,单位为秒。设置上传文档的所属关系和权限

chown_uploads=YES:设置是否改变匿名用户上传文档的属主。默认为NO。若设置为YES,则匿名用户上传的文档属主将由chown_username参数指定。chown_username=whoever:设置匿名用户上传的文档的属主。建议不要使用root。file_open_mode=755:设置上传文档的权限。设置vsftpd服务以xinetd方式启动RedHatEnterpriseLinux4中vsftpd服务默认以独立方式启动,如果想让vsftpd服务由xinetd进程监听,以被动方式启动需要做如下设置。修改/etc/vsftpd/vsftpd.conf文件,将该文件中“listen=YES”和“tcp_wrappers=YES”两行的内容注释掉。停掉以独立方式启动的vsftpd服务。命令如下:

[root@RHEL4~]#servicevsftpdstop建立被动启动方式的配置文件/etc/xinetd.d/vsftpd。该文件默认情况下不存在,可以由vsftpd安装包的模板文件复制生成。具体步骤如下:[root@RHEL4~]#cd/usr/share/doc/vsftpd-2.0.1/[root@RHEL4vsftpd-2.0.1]#cpvsftpd.xinetd/etc/xinetd.d/vsftpd修改/etc/xinetd.d/vsftpd文件,将disable的值设置为no。执行以下命令重新启动xinetd服务,以使xinetd监听FTP服务。

[root@RHEL4~]#servicexinetdrestart配置基于虚拟用户的FTP服务器vsftpd中的三类用户匿名用户:匿名用户在登录FTP服务器时并不需要特别的密码就能访问服务器。通常采用一个电子邮件的地址作为匿名用户的登录密码,但并不是必须的。一般匿名用户的用户名为anonymous或者ftp。采用匿名用户登录vsftpd服务器后将映射为指定的本地用户,一般为ftp。匿名用户登录FTP服务器之后所在的指定FTP目录为/var/ftp。本地用户:本地用户是指具有本地登录权限的用户。这类用户在登录FTP服务器时,所用的登录名为本地用户名,采用的密码为本地用户的口令。登录成功之后进入的为本地用户的家目录。虚拟用户:虚拟用户只具有从远程登录FTP服务器的权限,只能访问为其提供的FTP服务。虚拟用户不具有本地登录权限。虚拟用户的用户名和口令都是由用户口令库指定。一般采用PAM进行认证。使用PAM实现虚拟用户FTP服务器PAM(PluggableAuthenticationModules)是一套身份验证共享文件,用于限定特定应用程序的访问。使用PAM身份验证机制,可以实现vsftpd的虚拟用户功能。使用PAM实现基于虚拟用户的FTP服务器的关键是创建PAM用户数据库文件和修改vsftpd的PAM配置文件。具体操作步骤如下:创建虚拟用户口令库文件。创建过程:生成建立口令库文件的文本文件为/root/login.txt,内容如下:

peter//此行指定虚拟用户peter123456//此行设置peter用户的FTP密码

tom//此行指定虚拟用户tom213456//此行设置tom用户的FTP密码使用db_load命令生成口令库文件(db_load命令对应软件包在第3张光盘中)

[root@RHEL4/]#db_load-T-thash-f/root/login.txt/etc/vsftpd/vsftpd_login.db。修改数据库文件的本地权限[root@RHEL4~]#chmod600/etc/vsftpd/vsftpd_login.db使用PAM实现虚拟用户FTP服务器生成虚拟用户所需的PAM配置文件/etc/pam.d/vsftpd。修改vsftpd.conf文件。利用下面的命令重新启动vsftpd服务即可。

[root@RHEL4~]#servicevsftpdrestart[root@RHEL4~]#vi/etc/pam.d/vsftpd//添加如下两行authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_loginacc

温馨提示

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

最新文档

评论

0/150

提交评论