辛士光
[摘要]闡述如何利用Serv-U軟件創(chuàng)建FTP服務(wù)器,為學(xué)生建立網(wǎng)絡(luò)存儲。介紹Serv-U中ODBC的配置,應(yīng)用ASP程序批量生成FTP用戶,以及設(shè)置用戶的訪問參數(shù),實現(xiàn)連入網(wǎng)絡(luò)的FTP用戶在服務(wù)器上的授權(quán)操作。
[關(guān)鍵詞]網(wǎng)絡(luò)存儲 FTP服務(wù)器 Serv-U ASP 批量用戶
中圖分類號:TP3文獻標(biāo)識碼:A文章編號:1671-7597(2009)0510037-01
在計算機教學(xué)中,教師往往要向?qū)W生提供教學(xué)資料,學(xué)生完成實驗后也需要提交電子稿的作業(yè)。使用U盤、活動硬盤存儲會使實驗室聯(lián)網(wǎng)計算機感染病毒。應(yīng)用Serv-U構(gòu)建FTP服務(wù)器,為學(xué)生提供資料下載及網(wǎng)絡(luò)存儲,避免U盤等帶來的隱患,保障公共機房的安全和穩(wěn)定。
一、FTP服務(wù)器及Serv-U
文件傳輸協(xié)議FTP(File Transfer Protocol)是Internet上使用最廣泛的協(xié)議之一。Rhino Software公司的Serv-U是比較優(yōu)秀的FTP服務(wù)器軟件之一,可設(shè)置用戶上傳、下載速度,設(shè)置用戶可訪問的主目錄、對主目錄的訪問權(quán)限及用戶使用磁盤空間大小的限制等。安裝了FTP服務(wù)器軟件的計算機便成為FTP服務(wù)器。訪問FTP服務(wù)器可以采用瀏覽器方式,即在瀏覽器地址欄輸入Ftp://UserName:Password@IP地址,也可使用客戶端軟件(如CuteFtp、WS-Ftp等)方式。
二、使用Serv-U構(gòu)建FTP服務(wù)器
1.Serv-U的安裝。計算機的操作系統(tǒng)使用Windows 2000 Server,服務(wù)器上預(yù)留一個供學(xué)生存儲文件的磁盤分區(qū)(如D:)。安裝Serv-U 6.2.0.1和普通軟件相同,保持所有選項的默認(rèn)值,直接點擊“下一步”即可完成。安裝完成后,自動啟動“Serv-U管理員”,根據(jù)提示建立新域,命名為FtpStu,類型選擇“存儲于ODBC數(shù)據(jù)庫中”。
2.Serv-U的ODBC配置。為了能夠訪問數(shù)據(jù)庫,需設(shè)置ODBC連接。在“Serv-U管理員”的ODBC頁框中,包含三部分設(shè)置項:ODBC數(shù)據(jù)源訪問、數(shù)據(jù)源中的表名、Serv-U連接數(shù)據(jù)表的列名。
(1)設(shè)置數(shù)據(jù)源訪問。要使用數(shù)據(jù)庫,首先需要在控制面板中使用“ODBC數(shù)據(jù)源”程序創(chuàng)建一個DSN,命名為FtpStu。然后將“ODBC 數(shù)據(jù)源名稱”設(shè)置為FtpStu,填入訪問數(shù)據(jù)庫的用戶名、密碼。本文使用Access數(shù)據(jù)庫Serv_U.mdb。(2)設(shè)置表名稱。帳戶信息儲存在表中,有6個表與Serv-U所有功能對應(yīng):用戶表、組表、用戶目錄訪問權(quán)限表、組目錄訪問權(quán)限表、用戶IP訪問權(quán)限表、組IP訪問權(quán)限表。這里至少需要使用一個用戶表:User_accounts,主要字段有:帳戶名、密碼、主目錄、目錄訪問權(quán)限。(3)設(shè)置字段名稱。將Serv-U的參數(shù)與表中的字段對應(yīng)起來,未設(shè)置的字段,Serv-U使用缺省值。這里只設(shè)置以下對應(yīng)關(guān)系:帳戶名稱-user,密碼-password,主目錄-homedir,目錄訪問規(guī)則-access,帳戶啟用/禁用-disable,允許配額-quotaenable,最大磁盤配額-quotamax。其中access保存的內(nèi)容格式如下:D:xinsg|RWAMELCDP。D:xinsg|為用戶目錄。“RWAMELCDP”定義用戶的訪問權(quán)限:“讀取寫入追加刪除執(zhí)行列表創(chuàng)建移除繼承”。
3.批量用戶的創(chuàng)建。為了訪問FTP服務(wù)器,需要為每個學(xué)生創(chuàng)建登錄帳戶。以我校為例,每年新招學(xué)生近6000人,單個創(chuàng)建用戶會非常費時。我們使用ASP開發(fā)了管理系統(tǒng),可按班級、按專業(yè)、按年級等批量創(chuàng)建用戶。學(xué)生名單保存在表StuList中,有班級(ClsName)、學(xué)號(StuNo)、姓名(StuName)等數(shù)據(jù)項,對應(yīng)的文件夾命名格式為“班級學(xué)號”,最大磁盤配額為30MB。按班級批量創(chuàng)建的部分ASP代碼如下:
'取得班級名稱
mClsName=Request("mClsName")
'班級文件夾
mPath="D:"
ClsFolder=mPath & mClsName
'班級文件夾不存在則創(chuàng)建
If not fso.FolderExists(ClsFolder) then
fso.CreateFolder (ClsFolder)
End if
'最大配額30MB
mQEnable=True
mQMax=1048576*30
'訪問權(quán)限
mAccess="|RWAMLCDP"
'連接數(shù)據(jù)庫
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")
'讀班級中學(xué)生記錄,分別創(chuàng)建
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
'創(chuàng)建學(xué)生的文件夾。
if not fso.FolderExists(mUserFolder) then
fso.CreateFolder (mUserFolder)
'往數(shù)據(jù)庫添加用戶信息
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
三、結(jié)論
本文所給出的利用Serv-U軟件構(gòu)建FTP服務(wù)器,進行網(wǎng)絡(luò)存儲的解決方案,很好地實現(xiàn)了學(xué)生數(shù)據(jù)的遠程存儲,有效地避免了學(xué)生在實驗室使用移動存儲設(shè)備給公共機房所帶來的危害。詳細講解了“存儲于ODBC數(shù)據(jù)庫中”的域的設(shè)置,也實現(xiàn)了通過ASP程序在Serv-U服務(wù)器中批量創(chuàng)建用戶的方法。