1、FTP服务的配置与管理,11.1 FTP概述,11.2 Vsftpd简介,11.3 Vsftpd服务器配置,11.4 FTP客户端配置,11.5 查看FTP日志,结束,11.1 FTP概述,返回,11.1.1 文件传输服务器FTP工作原理,11.1.2 Port与Passive传输模式,结束,11.1.1 文件传输服务器FTP工作原理,FTP采用客户端/服务器模型,客户端和服务器使用TCP建立连接。和大多数的应用层协议不同,FTP协议在两台主机之间建立了两条通信链路,分别是控制连接和数据连接。控制连接主要负责传送在会话过程中用户发送的FTP命令和FTP服务的响应;数据连接主要负责传输数据。在服
2、务器端,FTP服务器有两个预分配的端口号,分别为20和21。其中,端口20用于发送和接收FTP数据(ASCII码或二进制文件),该数据端口只在传输数据时打开,并在传输结束时关闭。端口21用于发送和接收FTP的控制信息,FTP服务器通过侦听这个端口来判断是否有FTP客户的连接请求,FTP会话建立后,端口21的连接在会话期间将始终保持打开状态。在客户端,当发出请求时将动态分配端口号,选择范围为102465535。当一个FTP会话开始后,客户端程序打开一个控制端口(例如1044端口),该端连接到服务器上的21端口,接收和发送控制命令;需要传输数据时,客户端再打开第2个端口(如1045端口),连接到服
3、务器上的20端口。,返回,11.1.2 Port与Passive传输模式,根据数据连接的建立方式,FTP服务的数据传输可以分为Port(主动)模式和Passive(被动)模式。主动模式是FTP协议向FTP客户端传输数据的默认模式。当FTP客户端请求以主动模式传输数据时,由客户端向服务端发送准备接收数据的IP地址和端口Y,该端口应该是大于1024的非特权端口。服务端主动发起并建立连接到指定的IP地址和端口Y,所以也称为“主动”模式。由于Y端口可以随机指定,导致这种方案要求客户端的机器必须允许FTP服务器能够顺利地连接所有的端口,可能存在一定的安全隐患。在被动模式下,客户端通过PASV命令获得服务
4、端IP地址和数据端口,然后向服务端发起连接请求,从而建立数据连接。因此,服务器端只是被动地监听在指定端口上的请求,所以称之为“被动”模式。,返回,11.2 Vsftpd简介,返回,11.2.1 Vsftpd软件包的获取与安装,11.2.2 启动和关闭Vsftpd,结束,11.2.1 Vsftpd软件包的获取与安装,Vsftpd的主要特点包括:提供安全的体系结构,根据任务的最低特权需求单独执行每个任务。支持虚拟IP配置,可以在提供一个IP地址的情况下,在域中用该地址建立多个FTP服务器。允许配置使用虚拟用户,从而与系统用户账户分离。支持TCP封装。允许配置匿名服务器,用户可以在不需要身份验证的情
5、况下上传和下载文件。性能稳定,可以处理大量的并发连接。可以配置为独立的服务器。Vsftpd服务器支持带宽控制。,返回,11.2.2 启动和关闭Vsftpd,1. 用命令行方式启动和停止2. 自动启动Vsftpd服务,返回,11.3 Vsftpd服务器配置,返回,11.3.1 配置vsftpd.conf文件,11.3.2 vsftpd/ftpusers与vsfptd/user-list文件配置,结束,11.3.3 匿名FTP设置,11.3.4 真实账号设置,11.3.1 配置vsftpd.conf文件,Vsftpd的主配置文件vsftpd.conf位于/etc/目录下。vsftpd.conf文件
6、决定了vsftpd FTP服务器的主要操作。vsftpd.conf 文件由若干配置选项组成,以下介绍其中重要的配置选项。anonymous_enable=NO/YES:是否允许anonymous登录 FTP 服务器。默认设置为YES(允许)。local_enable=NO/YES:是否允许本地用户登录FTP 服务器。默认设置为YES(允许)。write_enable=NO/YES:是否允许用户在FTP服务器文件中具有写权限。默认设置为YES(允许)。local_umask=022 (或者其他值):设置本地用户的文件生成掩码,默认值为077,也可以根据喜好设置为其他值。,返回,11.3.2 vs
7、ftpd/ftpusers与vsfptd/user-list文件配置,在/etc/目录下的vsftpd/ftpusers和vsftpd/user-list两个文件与主配置文件中的“userlist_enable”和“userlist_deny”选项有着密切联系。两个文件中,每个用户名需占用一行。,返回,11.3.3 匿名FTP设置,在登录FTP服务器的用户不确定的情况下,应将FTP服务器设置为允许匿名帐号登录的FTP服务器。启用匿名帐号,并对匿名帐号服务进行管理是匿名FTP设置的主要内容。1. 启用匿名帐号2. 允许匿名帐号上传文件3. 仅允许匿名用户访问4. 设置欢迎信息5. 最大传输速率6
8、. 服务器最大并发数和用户最大线程数7. 禁止某些IP段的主机匿名访问服务器8. 用ASCII方式传送数据9. 设置数据传输中断间隔时间,返回,11.3.4 真实账号设置,对于真实帐号访问FTP服务器的设置,主要也是修改配置文件/etc/vsftpd/vsftpd.conf。在前面匿名帐号设置中提到的一些配置,在真实帐号的设置时也是同样可用的,不再赘述。此处主要完成与真实帐号有关的访问控制设置。在进行设置和测试前,应新建几个用户。选择【系统】|【管理】中的【用户和群组】选项,打开【用户管理者】对话框,新建名为“user1”,“user2”, “user3”的三个用户。并将user1添加至/et
9、c/vsftpd/ftpusers文件中,user2添加至/etc/vsftpd/user_list文件中,而user3不在ftpusers和user_list文件中。,返回,11.4 FTP客户端配置,返回,11.4.1 FTP常用命令,11.4.2 Windows环境下访问FTP服务器,结束,11.4.3 Linux环境下访问FTP服务器,11.4.1 FTP常用命令,在客户端访问FTP服务器,一般通过如下命令:# ftp 主机名/IP地址 端口号“主机名/IP地址”指的是FTP服务器的主机名/IP地址。而如果没有给出主机名/IP地址,则会客户端将出现“ftp”提示符,等待用户输入。通过在
10、“ftp”提示符下输入“?”,可以查看FTP常用命令。,返回,11.4.2 Windows环境下访问FTP服务器,1. 使用DOS命令行方式2. 使用IE浏览器3. 使用FlashFXP工具,返回,11.4.3 Linux环境下访问FTP服务器,在Linux环境下访问FTP服务器,和在Windows环境下类似,通常也有三种方法。1. 通过终端访问2. 通过Web浏览器访问3. 通过客户端工具访问,返回,11.5 查看FTP日志,FTP服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现。主配置文件中与日志设置有关的选项包括:xferlog_enable 、xferlog_file 、dual_log_enable 等。,返回,结束,