APP下载

FTP服务器Serv-U用户的批量创建

2009-06-05辛士光

新媒体研究 2009年9期

辛士光

[摘要]阐述如何利用Serv-U软件创建FTP服务器,为学生建立网络存储。介绍Serv-U中ODBC的配置,应用ASP程序批量生成FTP用户,以及设置用户的访问参数,实现连入网络的FTP用户在服务器上的授权操作。

[关键词]网络存储 FTP服务器 Serv-U ASP 批量用户

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0510037-01

在计算机教学中,教师往往要向学生提供教学资料,学生完成实验后也需要提交电子稿的作业。使用U盘、活动硬盘存储会使实验室联网计算机感染病毒。应用Serv-U构建FTP服务器,为学生提供资料下载及网络存储,避免U盘等带来的隐患,保障公共机房的安全和稳定。

一、FTP服务器及Serv-U

文件传输协议FTP(File Transfer Protocol)是Internet上使用最广泛的协议之一。Rhino Software公司的Serv-U是比较优秀的FTP服务器软件之一,可设置用户上传、下载速度,设置用户可访问的主目录、对主目录的访问权限及用户使用磁盘空间大小的限制等。安装了FTP服务器软件的计算机便成为FTP服务器。访问FTP服务器可以采用浏览器方式,即在浏览器地址栏输入Ftp://UserName:Password@IP地址,也可使用客户端软件(如CuteFtp、WS-Ftp等)方式。

二、使用Serv-U构建FTP服务器

1.Serv-U的安装。计算机的操作系统使用Windows 2000 Server,服务器上预留一个供学生存储文件的磁盘分区(如D:)。安装Serv-U 6.2.0.1和普通软件相同,保持所有选项的默认值,直接点击“下一步”即可完成。安装完成后,自动启动“Serv-U管理员”,根据提示建立新域,命名为FtpStu,类型选择“存储于ODBC数据库中”。

2.Serv-U的ODBC配置。为了能够访问数据库,需设置ODBC连接。在“Serv-U管理员”的ODBC页框中,包含三部分设置项:ODBC数据源访问、数据源中的表名、Serv-U连接数据表的列名。

(1)设置数据源访问。要使用数据库,首先需要在控制面板中使用“ODBC数据源”程序创建一个DSN,命名为FtpStu。然后将“ODBC 数据源名称”设置为FtpStu,填入访问数据库的用户名、密码。本文使用Access数据库Serv_U.mdb。(2)设置表名称。帐户信息储存在表中,有6个表与Serv-U所有功能对应:用户表、组表、用户目录访问权限表、组目录访问权限表、用户IP访问权限表、组IP访问权限表。这里至少需要使用一个用户表:User_accounts,主要字段有:帐户名、密码、主目录、目录访问权限。(3)设置字段名称。将Serv-U的参数与表中的字段对应起来,未设置的字段,Serv-U使用缺省值。这里只设置以下对应关系:帐户名称-user,密码-password,主目录-homedir,目录访问规则-access,帐户启用/禁用-disable,允许配额-quotaenable,最大磁盘配额-quotamax。其中access保存的内容格式如下:D:xinsg|RWAMELCDP。D:xinsg|为用户目录。“RWAMELCDP”定义用户的访问权限:“读取写入追加删除执行列表创建移除继承”。

3.批量用户的创建。为了访问FTP服务器,需要为每个学生创建登录帐户。以我校为例,每年新招学生近6000人,单个创建用户会非常费时。我们使用ASP开发了管理系统,可按班级、按专业、按年级等批量创建用户。学生名单保存在表StuList中,有班级(ClsName)、学号(StuNo)、姓名(StuName)等数据项,对应的文件夹命名格式为“班级学号”,最大磁盘配额为30MB。按班级批量创建的部分ASP代码如下:

'取得班级名称

mClsName=Request("mClsName")

'班级文件夹

mPath="D:"

ClsFolder=mPath & mClsName

'班级文件夹不存在则创建

If not fso.FolderExists(ClsFolder) then

fso.CreateFolder (ClsFolder)

End if

'最大配额30MB

mQEnable=True

mQMax=1048576*30

'访问权限

mAccess="|RWAMLCDP"

'连接数据库

Db=Server.Mappath("dataServ_U.mdb")

Conn="Driver={Microsoft Access Driver (*.mdb)};dbq=" & Db

Set fso=CreateObject("Scripting.FileSystemObject")

Set Rs=Server.CreateObject("ADODB.Recordset")

'读班级中学生记录,分别创建

Sql=Select * from StuList where ClsName like %" & mClsName & ”%“

Rs.Open sql,conn,3,1

Do While Not Rs.Eof

mUserName=Rs(”StuNo")

mUserFolder=ClsFolder & mUserName

'创建学生的文件夹。

if not fso.FolderExists(mUserFolder) then

fso.CreateFolder (mUserFolder)

'往数据库添加用户信息

sql="Insert into User_accounts“

sql=sql & "(User,Access,Password,HomeDir, QuotaEnable,QuotaMax) "

sql=sql & "VALUES('"&mUserName&"','" & mAccess&"','"

sql=sql & mUserName &"','" & mHomeDir&"',"

sql=sql & mQEnable&","&mQMax) "

Conn.Execute(sql)

else

Response.Write mUserName & "用户已存在!"

end If

Rs.Next

Loop

三、结论

本文所给出的利用Serv-U软件构建FTP服务器,进行网络存储的解决方案,很好地实现了学生数据的远程存储,有效地避免了学生在实验室使用移动存储设备给公共机房所带来的危害。详细讲解了“存储于ODBC数据库中”的域的设置,也实现了通过ASP程序在Serv-U服务器中批量创建用户的方法。