Serv-U与VB文件系统编程在实验教学中的应用

2012-10-18 07:56刘伟法
中国教育信息化 2012年5期
关键词:批量文件夹加密

刘伟法

(常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)

Serv-U与VB文件系统编程在实验教学中的应用

刘伟法

(常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)

本文使用VB的文件系统编程,实现了批量创建Serv-U用户及批量进行权限设置的功能,并能批量创建每个用户的宿主文件夹与每个实验的子文件夹,给实验教学提供了较大方便。

Serv-U;VB;文件系统编程;用户权限

一、引言

实验教学中经常要进行文件的上传与下载,尤其是学生提交实验成果、下载实验素材更是家常便饭的事情,为此很多教师都使用了Serv-U作为FTP服务器来完成上述任务,Serv-U是现今Windows下最流行、功能最强大、使用最简单的FTP服务器软件之一,但是在日常使用中,如果仅为每次实验创建一个文件夹,然后每个学生将实验结果提交进指定文件夹,这种管理方式容易导致学生互相拷贝的情形出现,尽管上传时可以设定仅允许写入不允许读取的权限,但对于像数字媒体制作类课程需要多次实验课时完成一次实验的情况,还是不能有效控制,因为第二次课有必要将上次提交的下载下来以便继续制作,这样必须开放读取权限。为此,必须为每个学生设置不同的用户帐户,如果用手工方式在Serv-U中同时设置大量的用户帐号,工作量将十分巨大。通过分析Serv-U软件的配置文件ServUDaemon.ini,配合读取每个班级学生的学号姓名文件,我们可以通过VB编程来设置其中的参数值,从而实现批量用户帐号的添加与设置,同时根据需要实现批量创建用户文件夹等功能。

二、ServUDaemon.ini文件结构

Serv-U的用户信息配置文件为ServUDaemon.ini,其文件结构如下:

通过对上述文件分析,注册用户名统一放在[Domain1]项目下面,此处的一个注册用户描述为User1=xupeng|1|0,用户的具体权限信息放在以每个用户名标志的项目下,此处为[USER=xupeng|1],此项目下相关行的含义:

(1)Password行放的是利用MD532位加密过的帐户密码。其产生规则为:两位随机码与MD532位加密,例如:对任意给定的两个随机字母:xm;用户输入密码:112233;生成的加密密码应为:xm.+MD5(xm112233)。

(2)HomeDir行放的是注册用户的宿主目录。

(3)Access1行是注册用户目录与存取权限的描述,其中RWAMELCDP表示对文件与目录的访问权限,前面部分RWAME表示对文件的访问权限为:可读、可写、可增加、可删除、可执行,后面部分LCDP表示对目录的访问权限为:可列表、可创建、可删除、可继承。

三、设置批量用户帐号及批量创建用户文件夹的实现过程

第一,利用32位MD5加密算法,实现用户密码的加密。

由于Serv-U密码加密算法为随机码与MD532位加密,所以Serv-U中的加密函数可以编制如下:

其中MD5函数为MD5加密算法函数,大家可以参考相关文献及其VB实现的相关资料。

第二,VB编程实现产生8位数字随机码的函数PWD8(),以便以后调用:

第三,在VB中编程实现批量注册用户名的设计过程:

先在Serv-U中建立一个注册用户,设置恰当的权限,作为批量用户的模版;然后建立班级名单的txt文本文档,每行以“学号,姓名”的格式存放(笔者从班级名单的Excel文件转换而来);然后在VB中创建一个exe项目,把前面准备好的函数放在一个公用module下,并创建一个form设计如下的界面及实现相关功能:

批量创建用户宿主目录的代码如下:

执行完成后将获得批量注册用户的文件ServUUsers.txt,并将此文件的内容拷贝到ServUDaemon.ini的[Domain1]项目下面。

创建ServU用户权限描述文件最为重要,也相对复杂,具体创建时参照下面从ServUDaemon.ini中获得的每个用户权限的模版:

执行上述代码后将获得批量用户的权限设置文件ServU-Access.txt,以及每个用户的密码文件usersPWD.txt,将ServU-Access.txt文件的内容拷贝到ServUDaemon.ini的用户权限设置部分(位于[Domain1]部分的下面)。将usersPWD.txt的内容公布给学生并要求每个学生记住自己的登录密码。

每次实验之前通过批量创建子目录功能将在每个用户的宿主目录创建相应的实验子目录。

四、结束语

笔者利用此程序管理学生实验,效果极为理想,对于教师个人使用此方法来管理学生实验不失为一种较佳的选择。但这只是一种使用文件系统功能实现的轻量级的方法,对于大量教师使用时,有必要结合Serv-U的ODBC数据库功能编制相关的数据库管理系统来实现。☉

[1]林卓然.VB语言程序设计[M].北京:电子工业出版社,2009.

(编辑:金冉)

G434

B

1673-8454(2012)05-0076-03

猜你喜欢
批量文件夹加密
一种新型离散忆阻混沌系统及其图像加密应用
批量提交在配置分发中的应用
Fast Folders,让你的文件夹四通八达
采用经济数控车床批量车削孔类工件的再实践
一种基于熵的混沌加密小波变换水印算法
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
加密与解密
不容忽视的空文件夹
在数控车床上批量钻铰孔类工件的实践