第十三章FTP服务

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

FTP服务FTP是最常用的Internet服务之一,用于实现网络上高速稳定的文件传输。本章首先介绍FTP服务的基本工作原理,然后详细介绍vsftpd服务器的配置以及FTP客户端程序的使用方法。13.1FTP服务概述文件传输协议(FTP)是最早的TCP/IP协议栈成员之一,基于该协议栈的FTP服务至今仍然是Internet上使用最广泛的文件传输服务。FTP用于网络中的文件传输,尽管也可以使用其他服务进行文件传输,但相比之下FTP更稳定、速度更快。与大部分网络服务类似,FTP包括服务器端软件和客户端软件。FTP服务器为客户端提供文件传输服务,FTP客户软件则提供用户界面,使用户可以连接到FTP服务器上并进行文件上传和下载。大部分操作系统都带有命令行界面的FTP客户端软件,但是普通用户更倾向于使用GUI界面的FTP客户端软件。13.1.1FTP服务器及基本原理1、FTP协议的基本概念FTP包括以下基本含义:FTP是英文FileTransferProtocol的缩写,是用于进行文件传输的网络协议。在FTP网络服务的应用结构中可分为FTP服务器和FTP客户机(C/S)两个角色。FTP服务器可以根据FTP客户机的请求将服务器中的文件传送给客户机。FTP的使用者(用户)通过FTP客户机软件向FTP服务器发送FTP指令,并接收从服务器发送的文件。FTP服务器软件和FTP客户机软件是对FTP网络服务不同角色的实现。在Linux和Windows操作系统中都有多种FTP服务器和客户机软件可供选择和使用。2、FTP服务的端口号和数据传输模式与其他协议不同,FTP还需要一个辅助连接来完成数据传输,这样FTP服务至少需要监听2个端口,一个端口作为控制连接端口,默认是TCP协议的21号端口,用于发送指令给服务器以及等待服务器相应,另一个端口是数据传输端口,用来建立数据传输通道,具体使用哪个端口号取决于FTP服务器的连接模式。FTP的连接模式有两种:PORT模式和PASV模式。PORT模式为主动模式,PASV模式称为被动模式。这里所说的主动与被动都是相对于服务器而言的。主动模式下:FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时,客户端从命令链路上用PORT命令高速服务器:“我打开了某端口,你过来连接我”。于是服务器从20端口向客户端的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中式服务器主动请求,所以称为主动模式。第十三章被动模式下:FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路;当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了某端口,你过来连接我”。于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户端请求,所以称为被动模式。3、传输模式FTP数据传输模式有两种:ASCⅡ模式和Binary(二进制)模式,二进制传输模式的效率高于ASCⅡ传输模式。客户端连接FTP服务器时,可以运行命令指定使用哪种传输方式。为了提高传输效率,服务器端通常会禁用ASCⅡ传输模式,此时即使客户端要求使用ASCⅡ传输方式,文件传输仍然使用二进制传输模式。4、匿名用户和本地用户客户端登陆FTP服务器可以使用匿名用户账户或者本地用户账户。匿名用户并不需要特殊的密码就可以访问服务器,通常习惯于使用一个电子邮件密码作为匿名用户的密码,但并不是必需的。FTP客户端软件使用的匿名用户账户通常是anonymous或ftp。系统用户登录成功以后,默认所在的FTP服务器端目录是用户在Linux系统中的主目录。对匿名用户来说,该目录是/var/ftp。而对本地用户来说,则是/home/username,username为用户账户的实际名称。为了配置一个具有较高安全级别的FTP服务器,通常仅允许匿名用户访问,而不允许本地用户访问。因为本地用户往往拥有更高的权限,更容易执行破坏性的操作。5、常用FTP服务器软件在Windows操作系统中IIS服务器可以实现简单的FTP服务器功能,而Serv-U是较为流行的FTP服务器软件。在Linux和Unix操作系统中常用的主要有Wu-ftpd、Proftpd和vsftpd等,并都有各自的特点。Wu-ftpd服务器的历史悠久,是最流行的FTP服务器程序之一。是最流行的FTP服务器程序之一。Wu-ftpd功能强大,可以用于构建多种类型的FTP服务器,并且稳定也比较出色。但是,Wu-ftpd发布较早,服务器的组织较为零散,安全性比Proftpd和vsftpd要差一些。Proftpd服务器是在Wu-ftpd之后开发的,目标是改善Wu-ftpd服务器中的种种问题。Proftpd很容易配置,安全性方面也得到了很大的提高,执行效率也相对较高。vsftpd是在Proftpd之后开发的,吸取了Wu-ftpd和Proftpd服务器中的优点,并在很多方面进行了改善。vsftpd名称中的vs是VerySecure的缩写,即“非常安全”的FTP服务器,可见vsftpd对于安全性的重视。vsftpd服务器出了安全性之外,速度和稳定性方面也很突出。在速度方面,使用ASCⅡ模式下载数据时,vsftpd的速度是Wu-ftpd的两倍,如果Linux得主机使用2.4.X版本的内核,在千兆以太网上的下载速度可达86Mb/s;在稳定性方面,vsftpd可以在单机上支持4000个以上的用户同时连接,根据的数据,vsftpd可以支持15000个并发用户。正是由于具有各方面的出色表现,vsftpd被作为RHEL5系统中默认支持的FTP服务器。vsftpd也是本章学习的重点。13.2FTP服务器的安装与简单配置在RHEL5.4的安装盘中,已经包括了vsftpd服务器的RPM软件包,安装后具有基本的配置文件。13.2.1安装vsftpRHEL5.4系统中包括vsftpd服务器的RPM安装包,位于其安装光盘中,名字是:vsftpd-2.0.5-16.el5.i386.rpm。vsftpd服务器程序并没有默认安装到RHEL5.4系统中,需要管理员使用rpm命令手动进行安装。vsftpd软件包的安装过程比较简单,并不需要依赖于其他软件包。13.2.2vsftpd服务器的基本配置vsftpd服务器的配置文件保存在“/etc”目录和它的子目录中。1、vsftpd.conf配置文件vsftpd.conf文件是vsftpd服务器的主配置文件,位于“/etc/vsftpd/”目录中,该配置文件中包括了大量的注释行说明,注释行以“#”开始。(1)vsftpd.conf文件中的配置项vsftpd.conf文件中所有的配置记录都包括配置项和配置值两部分内容,中间用等号连接。例如上面的配置记录中anonymous_enable是配置项的名称,YES是配置项的值。(2)vsftpd服务器的默认配置vsftpd.conf文件中的默认配置适用于最常用的FTP服务器配置要求,去除注释行后的配置文件中包括如下配置:vsftpd.conf文件中的默认配置的含义如下:anonymous_enable=YES,FTP服务器允许匿名登录,即用户可使用用户名ftp或anonymous进行FTP登陆,登录口令为用户的E-mail地址local_enable=YES,允许本地用户登录,本地用户指Linux系统中的用户账号write_enable=YES,FTP服务器开放对本地用户的写权限local_umask=022,设置本地用户的文件生成掩码,配置文件中的设置为022dirmessage_enable=YES,当切换到FTP服务器中的某个目录时,将显示该目录下的“.message”隐含文件的内容。“.message”文件名是message_file配置项的默认值xferlog_enable=YES,FTP服务器将启用上传和下载日志xferlog_std_format=YES,FTP将使用标准的ftpdxferlog日志格式connect_from_port_20=YES,FTP服务器将启用FTP数据端口的连接请求pam_service_name=vsftpd,设置PAM认证服务的配置文件名称,白文件保存在“/etc/pam.d/”目录下userlist_enable=YES,FTP服务器将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器;userlist_file配置项的默认值是“/etc/vsftpd/user_list”文件listen=YES,FTP服务器将处于独立启动模式(相对于受xinetd管理的启动模式)tcp_wrappers=YES,FTP服务器将使用tcp_wrappers作为主机访问控制方式。tcp_wrappers可以实现Linux系统中网络服务的基于主机地址的访问控制,在“/etc”目录中的hosts.allow和hosts.deny两个文件用于设置tcp_wrappers的访问控制,hosts.allow文件设置允许访问记录,hosts.deny文件设置拒绝访问记录。除以上的默认配置项,vsftpd.conf文件中还可以使用大量的其他配置项实现不同的配置功能,其他的常用参数有:anon_upload_enable=YES,设置是否允许匿名用户上传文件anon_mkdir_write_enable=YES,设置是否允许匿名用户创建目录chown_uploads=YES,出于易于管理以及安全的考虑,通常将匿名用户上传的文件的所有者改为其他用户。具体改成哪个用户由chown_username参数决定chown_username=whoever,设置获取匿名用户上传文件所有权的用户账户,只有设置了chown_uploads参数以后才有效xferlog_file=/var/log/xferlog,设置日志文件idle_session_timeout=600,设置用户会话空闲多长时间之后被自动断开,默认是600秒data_connection_timeout=120,设置数据连接最大空闲时间ascii_upload_enable=YESascii_download_enable=YESvsftpd默认使用二进制传输方式,要想使用ascii传输方式,取消上面两行的注释即可。ftpd_banner=WelcometoblahFTPservice,设置vsftpd服务器的欢迎消息chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listchroot_local_user=YES默认情况下,匿名用户会被锁定在默认的FTP目录中,而本地用户却可以访问到自己的FTP目录以外的内容。出于安全的考虑,通常建议将本地用户也锁定在FTP目录中。设置参数chroot_local_user=YES会把所有的本地用户锁定在他们的FTP目录中,而要锁定个别本地用户,可以分别设置chroot_list_enable=YES和chroot_list_file参数,并在指定的文件中写入要锁定的用户账户(如果同时设置了chroot_local_user参数和chroot_list_enable参数,则chroot_list_file参数指定的文件中的用户将不被锁定)anon_max_rate=500000,设置匿名用户的最大传输速率为500KBlocal_max_rate=600000,设置本地用户的最大传输速率为600KBpasv_min_port=50000pasv_max_port=60000设置客户机PASV连接模式的连接端口范围为50000到60000max_per_ip=5,设置每个IP的最大连接数为5,从而限制单个主机专用过多资源

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功