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