☆梁德铭
(龙岩第一中学,福建龙岩 364000)
FTP(File Transfer Protocol)服务作为校园网络的主要服务之一,为师生教育教学资源共享发挥着重要作用。Serv-U是一款由RhinoSoft.com开发的 FTP服务器软件,它功能强大又易于使用。Serv-U不仅100%遵从通用FTP标准,也包括众多的独特功能可为每个用户提供文件共享完美解决方案。本文以 Serv-U V6..4.0.6 中文版为平台,介绍如何合理组合软件提供的各种技术来搭建校园FTP服务。
校园FTP服务与一般的FTP服务相比,有着更特殊的需求,需要更为复杂的文件共享解决方案,其需求体现在:
(1)职工、学生、年级(届别)、学科及学校等(以下统称为用户)需要不同的文件夹用于存放自己的共享资源,以利于资源分类和管理。
(2)一个用户同时身兼多个角色。例如用户张三是一名2010届语文学科老师,同时又是2010届的年级主任,那么他需要有语文学科文件夹、2010届文件夹、私人文件夹及学校办公文件夹的访问权限及某些文件夹的编辑权限。
(3)不同用户应给与不同的磁盘配额,不然再大的磁盘空间都会有被挤满的一天。
(4)为保证用户私人资源的私密性,必须把用户锁定在主目录,即用户登录后的访问范围只能限定在自己的私人文件夹。
根据以上特点,作者利用Serv-U的卓越性能,经过一番摸索得到一个完美的解决方案。
选择一个空间足够大的非系统盘,新建一个名为“FTP”的文件夹(以下文件夹新建操作都在此文件夹下进行)。新建一个名为“学校公共”的文件夹,用于存放所有人可访问的资源。新建一个名为“学校办公”的文件夹,用于存放所有教工可访问的资源。按不同年级分别新建以届别命名的文件夹,用于存放自己年级的资源。按不同学科分别新建以学科名称命名的文件夹,用于存放自己学科的资源。分别新建以每个教工名字命名的文件夹,用于存放教工自己的私人资源。
软件安装很容易,不再赘述,只是在选择安装路径时建议不要安装到系统盘,这样做的好处是一旦系统盘崩溃重装后,只要把原Serv-U的配置文件(ServUAdmin.ini和ServUDaemon.ini) 覆盖到新安装的Serv-U目录下即可立即使用。
首次运行Serv-U将提示进行一些基本配置。在提示是否把Serv-U作为系统服务允许时选择是;在ip地址输入框中输入本机的ip地址,如果不填,默认为本机所有ip地址;在域名输入框中输入域名,没有的话可以随便输入一个名字,例如“ftptest”;在是否创建匿名访问用户时,选择是:访问目录设为“学校公共”文件夹,采用默认权限,选择锁定匿名用户于主目录。
在本方案中,匿名访问用户Anonymous用于实现学校公共资源的共享,任何人通过地址“ftp://域名”,选择匿名访问即可访问“学校公共”文件夹下的内容,满足社会和学生的访问需求。非学校公共资源通过给具体的用户账号授权的方式访问,每个用户账号对应一名教职工。下面将介绍用户账号的创建:
图1 创建用户账号
(1)创建用户账号(如图1)。以建立张三的账号为例,在左窗格“用户”上右击,选择“新建用户”,依次设定用户名称为ZS、密码为123、主目录指向名为“张三”的文件夹、锁定用户于主目录,就完成了用户的创建。
(2)配置用户账号(如图1)。以建立张三的账号为例,在左窗格中左击要配置的用户ZS,在右窗格的“目录访问”标签中,勾选除“执行”外的全部权限,在“配额”标签中勾选“启用磁盘配额”选项,设定最大磁盘空间为1024MB。
接着按上面的步骤逐个建立其他教职工的用户账号,至此我们实现了前述校园FTP服务需求分析的第1、第3及第4点。
那么如何实现需求分析中的第2点呢?有读者可能会想,我在张三的“目录访问”中再添加对“学校办公”、“语文”及“2010届”文件夹的访问权限不就解决了。事实上这种解决方案会与需求分析中的第3、第4点冲突,因为新增的三个文件夹所占磁盘空间会一并计入到我们设定的最大1024MB中来,这样张三就无法真正享有1024MB的磁盘空间,同时我们锁定了用户只能访问其主目录(私人文件夹),用户登录到FTP后,无法看到这三个新增的文件夹。要实现需求分析中的4点互不冲突,我们必须使用Serv-U提供的“虚拟路径映射”技术。
什么是虚拟路径映射呢?简而言之,虚拟路径映射就是把用户主目录之外文件夹映射到某个文件夹下,作为这个文件夹的一个子文件夹。这是解决前述几个貌似相互矛盾的需求的关键技术。
图2 创建虚拟路径
我们对需要被用户公共访问的文件夹(即各年级文件夹、各学科文件夹、学校办公)都进行虚拟路径映射。方法如下:
(1)创建虚拟路径映射(如图2)。以创建“语文”文件夹的虚拟路径映射为例,选择左窗格ftptest域中的“设置”,在右窗格中选择“虚拟路径”标签,点击“虚拟路径映射”中的“添加”按钮。在弹出的创建向导中,第一步是设置物理路径,即对哪个文件夹进行映射,我们选择“语文”文件夹;第二步是设置映射物理路径到什么位置,因为“语文”文件夹需要被所有语文老师访问,所以我们设置为“%home%”,表示映射到应用了该虚拟路径的用户主目录下;第三部是设置映射的路径名称,即被映射文件夹呈现给用户时的别名,我们在此设为“语文学科公共文件夹”。重复此步骤,逐个建立其他需要被公共访问的文件夹。
(2)应用虚拟路径到用户。根据需求分析,以用户张三为例,我们需要把“学校办公”、“2010届”、“语文”这三个文件夹映射到张三的主目录下,作为其主目录下的子文件夹。如图1所示,选择用户ZS,在其“目录访问”标签中依次添加张三需要的三个文件夹并根据需要设定每个文件夹的访问权限。应用后的登录效果如图3。
图3 应用虚拟路径后登录效果
至此校园FTP服务的全部需求都得到满足,但是把这些虚拟路径逐个应用到需要的用户,工作量非常大,并且在后续的维护如果需要改动权限,也需要逐个修改目录访问权限。所以在本方案中放弃应用虚拟路径到用户这种费时费力的方法,而是借助Serv-U的组策略把虚拟路径应用到用户组,把需要的用户加入相应组的方法来实现。
如果若干用户需要一组相同的权限,我们不必为每一个用户单独设置,只需要对组设置,然后把需要的用户加入这个组即可,组内的用户继承了组一切属性。我们对需要被用户公共访问的文件夹(即各年级文件夹、各学科文件夹、学校办公)建立相应的两个用户组,分别为访问组和管理组。
(1)创建用户组(如图4)。在左窗格“组”上右击,选择“新建组”,输入组名称,如“语文访问组”,就完成了用户组的创建。按同样的方法创建语文管理组。
(2)配置用户组的访问权限(如图4)。选择要配置的组,在右窗格的“目录访问”标签中添加该组需要访问的文件夹和对该文件夹的访问权限。访问组只给与“读取”、“列表”、“继承”权限,管理组给与除“执行”外的全部权限。
图4 配置组的访问权限
重复上面两个步骤,逐个建立其他需要被公共访问文件夹的两个用户组。
(3)把用户加入到相应组(如图5)。在左窗格中选中要设置的用户,在右窗格的“账号”标签中,点击组选择按钮,选择用户需要加入的组即可。以用户张三为例,我们选择“2010届管理组”、“语文访问组”、“学校办公访问组”,用户登录后效果如图3。
图5 把用户加入到组
利用Serv-U的虚拟路径映射技术,我们解决了用户被锁定于主目录后无法访问主目录之外公共文件夹的问题,同时保证了用户磁盘配额不受公共文件夹的影响,其实虚拟路径映射技术还可以解决磁盘空间不足的问题。利用用户组技术实现了公共文件夹访问的快捷部署与维护。软件提供的技术本身是死的,在利用软件实现某个需求的时候,我们要善于分析思考,多动手实验,通过合理地组合软件提供的各种技术,往往会有超出意料之外的完美解决方案。
[1]RhinoSoft.com.Serv-U 帮助[CP/DK].
[2]RhinoSoft.com.挂接虚拟目录[EB/OL].http://www.serv-u.cn/tech_11.htm,2010-5-12.
[3]playingfly.Serv-U 的虚拟路径[EB/OL].http://blog.chinaunix.net/u/484/showart_317871.htm,2007-06-08.