640 likes | 749 Views
第 8 章 架设 FTP 服务器. 在单台主机上创建多个 Web 站点,接下来就是如何上传主页,即如何将网页拷贝到对应的 Web 空间,如何有效管理,基于用户的 FTP 管理模式可以很好地解决这个问题,本章详细介绍了基于用户的 FTP 软件 —— Serv-U 的使用方法。. 8.1 基本概念. 采用基于用户的 FTP 管理可以很好的解决这个问题,一是保证管理不太复杂,二是资源充分利用。
E N D
第8章 架设FTP服务器 在单台主机上创建多个Web站点,接下来就是如何上传主页,即如何将网页拷贝到对应的Web空间,如何有效管理,基于用户的FTP管理模式可以很好地解决这个问题,本章详细介绍了基于用户的FTP软件——Serv-U的使用方法。
8.1 基本概念 • 采用基于用户的FTP管理可以很好的解决这个问题,一是保证管理不太复杂,二是资源充分利用。 • 无论是采用虚拟主机还是虚拟目录,每一个部门的主页都最终对应服务器上的某一个目录,一个部门一个目录对应一个FTP用户,不同的FTP用户登录到FTP站点之后只能看到和操作自己的目录,并拥有完全的管理权限,而看不到其他用户所对应的目录,其他用户也看不到自己的目录。
1. 协议原理 • File Transfer Protocol(文件传输协议),是专门用来传输文件的协议。 • FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。 • 当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。 • FTP协议是Internet上使用最为广泛的协议之一,它可以不受操作系统平台、软件种类、文件类型的限制轻松地实现主机之间的文件传送。
1. 协议原理 • FTP跟一般的应用有点不同。它在远程和本地机器之间使用了两个TCP连接。 • 其中一个连接用来传送命令和控制信息,这个连接在用户运行FTP命令时就被建立,使用服务器上的保留端口21。 • 为了处理文件传送时的数据流,第二个连接被建立,在服务器上,端口20总是用于数据传送。
2. 管理模式 • 基于目录的管理。IIS –windows 2000 • 基于用户的管理。Serv-U,IIS-2003
3. 连接模式 • Port模式:当客户端C与服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着进行数据连接),当服务端S收到这个Port命令后,就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。 • Pasv模式:当客户端C与服务端S连接后,服务端S会发信息给客户端C,当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也就建立了。
3. 连接模式 • 从上面的解释中,可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。 • 当局域网PC通过NAT的方式连接到Internet时,需要设置成为PASV mode模式传送,因为外网用户(FTP服务器端)无法主动与内网(FTP客户端)相连。
3. 连接模式 图8-1 NAT共享上网
8.2 创建FTP站点 • 假设本机IP地址为202.204.220.119,初始安装非常简单,根据提示直接单击“下一步”按钮,当出现如图8-2所示的接口时,单击“取消”,也就是不采用向导的方式设置就可以了。 图8-2 设置向导
1. 创建域 • 每个Serv-U引擎都能用来运行多个虚拟的FTP服务器,而虚拟的FTP服务器就称为“域”(Domain)。对于一个Serv-U FTP服务器来讲,应该至少创建一个域和一个用户。在新建域的过程中,有如下几项需要设置: • (1)Domain IP address(域IP地址)。如果计算机有多个固定的IP地址,并且只想其中一个被FTP服务器所使用时,才需要在此地输入那个相应的IP地址;否则一般建议,不管是否有固定的IP地址,都选择下面的选项(使用任何可用的IP地址)。 • (2)Domain name(域名)。这里的域名和DNS是不同的,这里的域名只是域的名称标识,没有任何实际的意义,如这里输入FTP SITE DEMO。 • (3)Port Number(端口)。FTP服务的默认端口为21,建议不要修改。 • (4)Install as system service(作为一个系统服务安装吗)。此项对于操作系统是Windows NT/2000/XP的服务器有效。选择了
1. 创建域 • Yes,则Serv-U的FTP服务就会被添加到系统服务中(在“管理工具”下的“服务”中可以查看到);选择了No,则不会作为系统服务存在。如果FTP服务器常年运行,则建议选Yes;如果只是需要时才运行,则建议选No。 图8-3 新建domain
2. 添加用户 • 使用FTP时的一个重要概念是“匿名”用户(Anonymous User)。这是指为了使用FTP,用户必须拥有一个用户ID(Userid)和口令(Password)。这个登录是在FTP连接建立过程中进行的。这种情况大大限制了能够访问Internet信息的用户个数,因为每个访问点都必须花费时间来管理账号信息。因此,一个匿名的FTP点被配置为允许任何用户访问系统,此时必须使用用户标识Anonymous。 • 匿名访问就是允许用户以Anonymous为用户名,无需特定密码即可连接服务器并拷贝文件。除了匿名用户,还有一类必须输入密码的用户,即普通用户,这样做适用于实行会员制管理。匿名用户除不需要密码外,其他和普通用户完全一样。
2. 添加用户 • 在添加用户的过程中,有以下几项内容需要设置。 • User Name(用户名):登录的用户名。 • Password(密码):登录的密码。 • Home directory(主目录):设定用户登录后其虚拟根目录在FTP服务器上的真实位置。 • Lock users into their home directory(将匿名用户锁定到其主目录吗):如果选择Yes(是),则用户只能访问其主目录及以下的目录树;如果选择No(否),则它还可以访问其主目录的同级或更高级的目录树。从安全角度考虑,一般建议选Yes(是)。
2. 添加用户 如创建匿名用户,如图8-4所示输入Anonymous用户名。 图8-4 新建用户
2. 添加用户 • 将该用户锁定到D:\anonymous目录,如图8-5所示。 图8-5 锁定主目录
2. 添加用户 • 其他默认即可。按照相同的方法创建admin、chinese、foreign 3个用户。分别锁定到D:\admin、D:\Chinese、D:\foreign 3个目录,如图8-6所示。 • 实际上,在创建完第一个用户后,FTP服务器就应该可以工作了。但有时,在Serv-U中设置好FTP服务之后匿名登录,发觉所处位置并不是自己所设置的主目录。
2.添加用户 • 而在Serv-U中新建的普通用户则根本无法登录,出现这种问题,极可能是因为在安装Serv-U之前,计算机上还运行着其他的FTP服务,如IIS中的FTP服务,由于它已先行占用了21端口,因此后面装的Serv-U就不能正常运行了,会发现在新建的domain前有一个红色的标志,说明domain处于offline(离线)状态,由于端口占用,无法进入online(在线)状态。解决办法是将IIS中的FTP服务停掉后,重新启动Serv-U服务,注意是重启整个Serv-U服务,而不是重启domain。
2. 添加用户 图8-6 账号属性
2. 添加用户 • 上述的操作只能实现Serv-U赋予的默认功能和权限,要真正让这个服务器能按照意愿工作,还要进行权限设置或一些高级设置。 • 【思考】自己在家或办公室搭建的FTP站点为什么别人无法访问到?接入实际上是被Internet访问,当然访问Internet也是可以的。
3. 修改权限 • 在管理器左边框架中选中用户名,再在右边框架中进入Dir Access(目录存取)窗口,然后在列表中选中相应目录后,就可以在窗口的右侧更改当前用户对其的访问权限了。可以看出,默认选项赋予用户只有Read(读,下载)和List(目录浏览)功能,如图8-7所示。 图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 客户端的连接 • FTP服务创建好之后,用户可以通过3种方式访问它,即客户端软件、IE、命令行。一般情况下,一些小的文件或临时性的操作,用IE就可以了,对于大文件和经常性的操作,用客户端软件较为方便,如CuteFTP Pro。而命令行方式一般很少使用,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:password@202.204.220.119,如图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(域名)下的Settings(设置),再在右边框架中转到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 same 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 修改密码的命令