第 8 章 架设 FTP 服务器
description
Transcript of 第 8 章 架设 FTP 服务器
第 8 章 架设 FTP 服务器 在单台主机上创建多个 Web 站点,接下来就是如何上传主页,即如何将网页拷贝到对应的 Web 空间,如何有效管理?
基于用户的 FTP 管理—— Serv-U
目标 何谓 FTP? 如何创建一个最简单的 FTP 站点 ? 如何做一些更精细的控制?
如限制连接数; 如何设置虚拟目录; 如何限制磁盘限额等。
8.1 基本概念 采用基于用户的 FTP 管理可以很好的解决这个问题,
一是保证管理不太复杂,二是资源充分利用。
无论是采用虚拟主机还是虚拟目录,每一个部门的主页都最终对应服务器上的某一个目录,一个部门一个目录对应一个 FTP 用户,不同的 FTP 用户登录到 FTP 站点之后只能看到和操作自己的目录,并拥有完全的管理权限,而看不到其他用户所对应的目录,其他用户也看不到自己的目录。
0 需求分析 每一个部门的网页都最终对应服务器上的某
一个目录 一个部门一个目录对应一个 FTP 用户,不同
的 FTP 用户登录到 FTP 站点之后只能看到和操作自己的目录,并拥有完全的管理权限
而看不到其他用户所对应的目录,其他用户也看不到自己的目录。
解决方案:基于用户的 FTP
1. 协议原理 File Transfer Protocol ,是专门用来传输文件
的协议。 FTP 协议是 Internet 上使用最为广泛的协议之
一,它可以不受操作系统平台、软件种类、文件类型的限制轻松地实现主机之间的文件传送。
FTP 服务器,则是在互联网上提供存储空间的计算机,它们依照 FTP 协议提供服务。当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到 FTP 服务器中。
1. 协议原理 FTP 跟一般的应用有点不同。它在远程和本地
机器之间使用了两个 TCP 连接。
其中一个连接用来传送命令和控制信息,这个连接在用户运行 FTP 命令时就被建立,使用服务器上的保留端口 21 。
为了处理文件传送时的数据流,第二个连接被建立,在服务器上,端口 20 总是用于数据传送。
2. 管理模式 基于目录的管理。 IIS –windows 2000
基于用户的管理。 Serv-U,IIS-2003
3. 连接模式 Port 模式 : 客户端 C 在本地打开一个端口等服务端 S
去连接建立数据连接
Pasv 模式 : 服务端 S 打开一个端口等待客户端 C 去建立一个数据连接
当局域网 PC 通过 NAT 的方式连接到 Internet 时,需要设置成为 PASV mode 模式传送,因为外网用户( FTP 服务器端)无法主动与内网( FTP 客户端)相连。
8.2 创建 FTP 站点 -ServU 创建一个 domain
至少创建一个用户 匿名用户 普通用户(除 anonymous外的其他用户)
0 安装 假设本机 IP 地址为 202.204.220.119,初始安装非常简单,根据
提示直接单击“下一步”按钮,当出现如图 8-2 所示的接口时,单击“取消”,也就是不采用向导的方式设置就可以了。
图 8-2 设置向导
1. 创建域 每个 Serv-U引擎都能用来运行多个虚拟的
FTP 服务器,而虚拟的 FTP 服务器就称为“域”(Domain)。
( 1)Domain IP address(域 IP 地址)。 ( 2)Domain name(域名)。 ( 3) Port Number(端口)。 (4) Install as system service(作为
一个系统服务安装吗)。
1. 创建域
图 8-3 新建 domain
2. 添加用户 “匿名”用户( anonymous User) ,
无需特定密码即可连接服务器并拷贝文件。
普通用户,这样做适用于实行会员制管理。
匿名用户除不需要密码外,其他和普通用户完全一样。
2. 添加用户 在添加用户的过程中,有以下几项内容需要设
置。 User Name(用户名):登录的用户名。 Password(密码):登录的密码。 Home directory (主目录):设定用户登录
后其虚拟根目录在 FTP 服务器上的真实位置。 Lock users into their home directory (将匿名用户锁定到其主目录吗)。
2. 添加用户
图 8-4 新建用户
如创建匿名用户,如图 8-4所示输入 Anonymous 用户名。
2. 添加用户 将该用户锁定到 D:\anonymous 目录,如图 8-5所示。
图 8-5 锁定主目录
2. 添加用户 其他默认即可。按照相同的方法创建 ad
min 、 chinese 、 foreign 3 个用户。分别锁定到 D:\admin 、 D:\Chinese 、 D:\foreign 3 个目录,如图 8-6所示。
实际上,在创建完第一个用户后, FTP服务器就应该可以工作了。
2.添加用户 但有时,在 Serv-U 中设置好 FTP 服务之后匿名
登录,发觉所处位置并不是自己所设置的主目录。而在 Serv-U 中新建的普通用户则根本无法登录 .
出现这种问题,极可能是因为在安装 Serv-U 之前,计算机上还运行着其他的 FTP 服务,如 IIS 中的FTP 服务,由于它已先行占用了 21 端口。
解决办法是将 IIS 中的 FTP 服务停掉后,重新启动 Serv-U 服务,注意是重启整个 Serv-U 服务,而不是重启 domain 。
2. 添加用户
图 8-6 账号属性
2. 添加用户 上述的操作只能实现 Serv-U赋予的默认功能和权限,要真正让这个服务器能按照意愿工作,还要进行权限设置或一些高级设置。
【思考】自己在家或办公室搭建的 FTP站点为什么别人无法访问到?接入实际上是被 Internet访问,当然访问 Internet 也是可以的。
3. 修改权限 在管理器左边框架中选中用户名,再在右边框架中进入Dir Access(目
录存取)窗口,然后在列表中选中相应目录后,就可以在窗口的右侧更改当前用户对其的访问权限了。
图 8-7 修改权限
3. 修改权限 权限细分为 3大类,分别针对文件( File),目录 (Directory)和子目录( Sub-directory ),列举如下。
( 1)Read(读):允许用户下载文件。 ( 2)Write(写):允许用户上传文件,但无权对文件进行更改,删除,或重命名。 ( 3) Append(附加):允许用户对已有的文件进行附加,拥有 Append 权限的用户
自动拥有 WRITE权限。 ( 4) Delete(删除):允许用户对文件进行改动,重命名,或删除。拥有 Delete 权
限的用户自动拥有 Write 和 Append 权限。 ( 5) Execute(执行):允许用户通过 FTP 运行可执行文件。例如,用户可以远程运
行 DOS或Windows 程序。
( 6) List(列表):允许用户取得目录列表。 ( 7) Create(建立):允许用户在根目录下建立新的子目录。 ( 8)Remove(移动):允许用户删除根目录下的子目录。
( 9) Inherit(继承):选中该选项之后,对某一目录设置的访问权限将自动被该目录下的所有子目录继承。
8.3 客户端的连接 客户端软件:大文件和经常性的操作
浏览器 : 一些小的文件或临时性的操作
命令行: Linux
1. 客户端软件 客户端软件在设置上大同小异,以 CuteFTP Pro2.0 为例,首先新建一个
FTP 站点的属性连接信息。其中, Host 就是 FTP 服务器的 IP 地址或域名,然后选择匿名连接或普通用户连接。当为一般用户时,需要输入正确的用户名和密码。匿名连接什么都不用输入,如图 8-8 所示。
图 8-8 站点属性设置
1. 客户端软件 设置好这些信息后,就可以尝试进行连接,如果没有问题,将出现如图
8-9所示的画面,表明连接成功,可以进行相应的操作了。
图 8-9 客户端软件方式
2. 浏览器方式 在 IE的地址栏中,输入 ftp://202.204.220.119,表明以匿名身份连接,如果以普通用户身份连接,打开“文件”菜单下的“登录( A)…”,在其中输入用户名和密码,单击“登录”按钮就可以了。
也可以直接用下面的 URL 格式 ftp://username:[email protected],如图 8-10所示,也就是此时用户名和密码用冒号隔开,不过此时密码是明文现实的,不建议使用这种方式。
2. 浏览器方式
图 8-10 浏览器方式
3. 命令行方式 在 DOS 命令提示符下,通过 FTP 命令也可以访问 FTP 服务器,如图 8-
11 所示。具体的命令可查阅RFC 文档,使用命令 ftp –d 202.204.220.119将进入调试模式。
图 8-11 命令行方式
8.4 高级主题1. 设置虚拟目录 所谓虚拟目录是指该目录并不存在于主目录下,而是通过将位于
其他物理位置的目录映像到主目录下,并给它一个标识,这个标识相当于主目录下一个并不存在的虚拟的子目录。
例如,用户 chinese 的主目录为 D:\chinese ,想要能够通过 ftp://202.204.220.119/mp3 的 URL 访问到 F:\mp3 中的内容,则需要为它添加虚拟目录。
步骤如下: ( 1)在管理器左边框架中,选择Domains(域名)下的 Setti
ngs(设置),再在右边框架中转到 General(常用)窗口。 ( 2)单击 Virtual path mappings(虚拟目录映像)下的 Add(增加)按钮,之后根据提示在 Physical path(物理路径)下选择 F:\mp3 ,在Map Physical path to(映像物理路径到)下选择D:\chinese ,在 mapped path name(映像路径名)处输入mp3 即可添加好此虚拟目录的映像记录,如图 8-12 所示。
1. 设置虚拟目录
图 8-12 设置虚拟目录
1. 设置虚拟目录 ( 3)最后在管理器的左边框架中选中 chinese 用户,再在右边框架中转到 Dir Access窗口,按 Add按钮将 F:\mp3 目录增加到列表中去,如图 8-13 所示。注意,请在有改动内容的标签卡上单击 apply使设置生效
图 8-13 将真实目录添加到目录列表中
1. 设置虚拟目录 打开 IE,在地址栏中输入 ftp://202.204.220.119,发现主目录下多了一
个 mp3子目录,实际上, mp3子目录并不存在于物理的主目录下,而是通过前面添加虚拟目录的方法映像过去的, mp3真正的位置是 f:\mp3 ,如图 8-14所示。
图 8-14 测试虚拟目录
2. 允许远程管理 使网管员足不出户就可以对 Serv-U进行
远程管理。 远程管理员权限分为“无权限”、“组
管理员”、“域管理员”、“只读管理员”和“系统管理员” 5种,每项的权限各不相同,可根据具体情况进行选择。
如果管理员只有一个,设置成“系统管理员”是最合适的,如图 8-15所示。
2. 允许远程管理
图 8-15 将账号权限设置为系统管理员以便远程管理
2. 允许远程管理 在装有 Serv-U 的计算机上,选中 Serv-
U Servers ,鼠标右键选择 New server ,按照提示输入远程 FTP 服务器的 IP 地址、端口号等,最重要的是要输入具有管理员权限的用户名和密码。连上以后,感觉就像操作本地工作站。
3. 设置上下载速率 对每个用户的最大上载速率(Max upload speed)和最大下载速率(Max download speed)进行限制,如图 8-16所示,就可以避免某些人采用多线程下载或者抢用网络带宽下载,造成网络性能下降甚至导致服务器崩溃的情况发生。
图 8-16 设置上下载速率
4. 禁用用户账号 如果有用户违反 FTP 的规定,可以单击此处的 Disable account ,使该
用户在一段时间内被禁止登录,如图 8-17所示。这是不删除用户账号暂时限制用户使用的方法之一。
图 8-17 禁用用户账号
5. 限制登录线程数 根据实际需要,设置同一 IP 的登录线程数( Allow only logins from sa
me IP address),防止同一 IP 建立多个连接,如图 8-18 所示,这样,FTP 服务器的资源有可能被某一个用户消耗殆尽,影响其他用户的使用。
图 8-18 限制登录线程数
6. 限制登录用户数 根据实际情况,设置登录到本服务器的
最大用户数(Max no.of users),如图8-19所示,以防止服务器负载过重。
7. 设置空闲时间 长时间保持连接使得占用的资源不能释放,该选项( idle time-out minutes)设置空闲时长,如图 8-20 所示,在该时长到达时如果用户没有任何操作,将断开连接,否则,将置零重新计时。
图 8-19 限制登录用户数
7. 设置空闲时间
图 8-20 设置空闲时间
8. 设置 IP访问控制 Serv-U 提供了两种基本的访问规则,分别为“拒绝访问”规则
和“允许访问”规则。在“拒绝访问”规则下,所有来自用户输入的 IP 地址的访问者都将被拒绝访问,而来自其他 IP 地址的用户都将被授予访问权限。同理,如果用户选择了“允许访问”规则,那么所有来自用户输入的 IP 地址的访问者都将被授予访问权限,而来自其他 IP 地址的用户将无权访问 FTP 服务器。
通过以上功能,用户可以针对不同的 IP 地址,设置不同的权限,从而有效地保障 FTP 服务器免受非法访问者的侵害。
如想拒绝某一个 IP访问你的 FTP 服务器,只要在“编辑规则”处填上某个 IP 地址,以后该 IP 的访问将会全部被拦下。当然,也可以根据通配符设置一个 IP 地址块,如图 8-21 所示。
8. 设置 IP访问控制
图 8-21 设置 IP访问控制
9. 设置上下载比例 如果希望 FTP 站点的使用者不仅仅使用自己提供的资源,还能够
上传一些有价值的东西供大家共享的话,可以通过使用 Serv-U提供的“上传和下载比例”这一功能实现。
如图 8-22 所示,用户可以在 File菜单中的 FTP-Server 、 Users和 Groups 的弹出窗口中找到名为 U/D Ratios 的功能按钮,单击之后出现设置窗口。用户可以限制每个 FTP 站点的使用者每上传一个文件后可以下载的文件数。例如,如果将某个用户的上传和下载比例设置为 1/3 ,那么该用户每上传一个文件,就可以从 FTP 站点下载 3 个文件。
Serv-U 支持在单个会话过程或全部会话过程的范围内,按照具体传输的文件数目或文件的大小,限制用户的上传和下载比例。
9. 设置上下载比例
图 8-22 设置上下载比例
10. 设置磁盘限额 随着用户数量的增加,一个非常实际的问题就
是如何既能够确保每个用户都有足够的硬盘空间可用,同时又防止 FTP 服务器吞食整个机器的硬盘资源。同样,在这个问题上 Serv-U提供了有力的解决方案。
勾选“启用磁盘配额”选项,如图 8-23 所示,为每位 FTP 用户设置硬盘空间。单击“计算当前”按钮,可知当前的所有已用空间大小,在“最大”一栏中设定最大的空间值。
10. 设置磁盘限额
图 8-23 启用磁盘限额
10. 设置磁盘限额 磁盘限额设定选项使得可以为不同的用
户设置不同的空间大小,也防止了恶意用户上传大量的文件耗尽磁盘空间可能性的发生。
11. 修改登录密码 当网管员添加了一个用户并设置了初始密码后,
就把这些信息告诉给该用户。由于密码是网管员设置的,通常情况下,处于保密的考虑,用户希望自己能够在不告知网管员的情况下把密码改掉。下面介绍一种实现在客户端修改密码的方法。
在 CuteFTP Pro 2.0 的 Commands菜单中,单击Enter Manual Command…,如图 8-24,打开一个对话框,输入如图 8-25所示的命令,其中 xxxxxx是旧密码, yyyyyy是新密码。
11. 修改登录密码
图 8-24 找到输入命令的地方
11. 修改登录密码
【注意】要想远程修改密码,必须让管理员提前设置允许远程修改密码权限,默认是不允许的。
图 8-25 修改密码的命令
使用 2003 IIS 创建 FTP 站点 尽管微软在 Windows 2003 服务器的 IIS 6.0 系统中新增加“隔离用户” FTP组件,能够实现基于用户的管理,但实际很少被使用,原因在于它缺乏细粒度的强大的可控的管理功能。本节只所以仍加以介绍,只希望做一些比较,以便读者能体会到其中的异同。
安装“隔离用户” FTP组件
创建 FTP 站点用户访问帐号
创建与访问帐号对应的目录
创建“用户隔离” FTP 站点
架设基于 SSL的 FTP 站点 一般的 FTP 服务器是以明文方式传输数
据的,安全性极差,信息很容易被盗,虽然它提供了 SSL 加密功能,默认情况下也是没有启用的。所以说为了保证特殊环境下的数据安全,有必要启用 SSL功能,提高服务器数据传输的安全性。
创建并启用 SSL证书
创建并启用 SSL证书
安全连接 FTP 服务器
8.5 上 机 练 习 实验 1 掌握 Serv-U 的基本配置 实验环境:两台计算机 A 和 B, A 机配置 Serv-U 服务, B机用
作测试机,也可以在一台计算机上实验。 实验要求:创建两个用户,匿名用户 Anonymous(作为学生账号)和普通用户 TeacherYY( YY为计算机 A 的编号,作为教师账号),均指向同一个目录 C:\teacherYY(请自行创建),要求学生只具有下载(如下载一些讲义或资料)和上传权限(主要是上交作业,为清楚起见,每个学生的作业都放在以学号和姓名命名的个人目录中),但不允许删除(防止误删别人的作业),教师账号具有上传、下载以及删除权限,不具有执行权限。为防止硬盘空间的恶意使用,限制匿名用户上传的所有文件大小合起来不超过 5MB。
8.5 上 机 练 习 实验 2 掌握 Serv-U 的高级功能 通过配置,完成以下功能: ( 1)允许 admin 的用户账户远程管理 Serv-U ; ( 2)限制整个 Serv-U 服务器允许的最大登录
用户数为 5人; ( 3)同一 IP 只允许与 Serv-U 服务器建立一个
连接; (4)限制某一个特定 IP 无法访问 Serv-U ; (5)允许普通用户 test 远程修改自己的登录密码。
8.5 上 机 练 习 实验 3 设计题 某学院有 100名教师, 2000名学生,教师经常会有一些讲义、作业以及通知等需要向学生公布,此前总是通过 U 盘相互拷贝,既耽误时间也和不方便,为方便教学,网络管理员决定给每位教师搭建一个 Web 服务器,并每人分配 100MB空间,为便于管理,决定让每位教师自行管理自己的 Web 空间,也就是对该空间有上传、下载和删除的权限,根据这些提示请设计一个最佳的解决方案,尽可能详细。