摘要:由于學生用戶數(shù)量大,使用Serv-U 提供的管理軟件創(chuàng)建大量學生賬戶工作量巨大。該文介紹了如何將Serv-U的賬戶信息保存ODBC數(shù)據(jù)庫中。論文詳細討論了數(shù)據(jù)庫結構的設計、相關參數(shù)的設置及大批量賬號管理程序的實現(xiàn)。
關鍵詞:Serv-U;數(shù)據(jù)庫;賬號管理;網(wǎng)絡存儲
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)33-1347-02
File Network Storage System in Common Computer Lab Based Serv-U
JIANG Liang-hua,CHEN Chao-quan,CUI Jian-ming
(Modern Education Technology Center,Guilin University of Technology,Guilin 541004,China)
Abstract: Because the amount of students is very large,it is time cost to create an account for every student on Serv-U FTP server.This paper introduces how to store Serv-U account information in an ODBC database.The design of database's construct, setting of relational parameters and the implementation of a program which can manage large quantities of accounts are discussed detailedly.
Key words: Serv-U; database; account management; network storage
1 引言
Serv-U 是Windows 平臺下性能優(yōu)越、功能強大的FTP 服務器軟件。通過Serv—U構建FTP服務器,用戶本地電腦可以通過網(wǎng)絡和FTP服務器相連,使用TCP/IP協(xié)議,進行文件的復制、移動、創(chuàng)建和刪除等。目前公共計算機實驗室大多采用Serv-U 構建FTP服務器,為上機學生提保存文件的網(wǎng)絡存儲空間[1-2]。筆者所在的計算機基礎實驗室也從2004年起采用Serv-U 構建FTP服務器為學生提供網(wǎng)絡存儲空間。因為學生人數(shù)往往數(shù)千甚至上萬,如何高效地管理眾多的學生用戶賬號是需要解決的一個關鍵問題。筆者查閱了相關文獻,發(fā)現(xiàn)目前常見的方案有:(1) 只為教師開設賬戶或為整個班級開設一個公共賬戶;2) 直接使用Serv-U提供的管理工具開設賬戶 [2];3) 編程直接讀寫Serv-U 的賬戶信息及配置信息文件ServUDaemon. ini [3-5], 實現(xiàn)批量賬號管理;4) 將賬戶信息存放在數(shù)據(jù)中,使用Serv-U 數(shù)據(jù)庫插件訪問數(shù)據(jù)庫[6]。第1)種方案因為沒有為每個學生開設獨立的賬號,不能滿足每個學生獨立保存文件的需求;第2)種方案管理大量學生賬戶效率低下,只有在學生人數(shù)不是很多情況下才可行。第3) 種方案能快速創(chuàng)建大量賬戶,但賬戶很多時,客戶端連接服務器時響應速度極慢,必須將賬戶分布在多個域上才能提高性能[5],但采用多域方式配置管理較復雜。第4)種方案需要安裝Serv-U 數(shù)據(jù)庫插件。其實Serv-U 5及以上版均支持將賬戶信息保存在ODBC數(shù)據(jù)庫中。在用戶賬戶很多的情況下,賬戶信息保存在ODBC數(shù)據(jù)庫中可顯著提高客戶端連接服務器時響應速度,可更加容易地開發(fā)大批量賬戶管理程序。該文在分析Serv-U 帳戶管理機制的基礎上,詳細討論了將Serv-U的帳號信息保存在Access數(shù)據(jù)庫中情況下數(shù)據(jù)庫結構的設計、相關參數(shù)的設置和大批量賬號管理程序的設計。
2 Serv-U簡介
Serv-U 是一個非常好的FTP 服務器軟件,它設置簡單,功能強大,性能穩(wěn)定。Serv-U FTP 服務器并不是簡單地提供文件的下載,還為用戶的系統(tǒng)安全提供了相當全面的保護,可以應用于Internet 范圍內文件共享的解決方案。其主要功能特點有:1) 流量控制及帶寬限制。支持對上傳、下載流量和網(wǎng)絡帶寬設定限制,以確保帶寬不會被少數(shù)FTP 用戶獨占;2) 磁盤空間限制。可以設定每個帳號可使用的磁盤空間; 3) 斷點續(xù)傳能有效地降低重復下載;4) 遠程管理方便用戶從任何地方管理FTP Server ,提高工作效率;5) 安全機制通過嚴格的權限控制,提供系統(tǒng)安性和穩(wěn)定性;6) 支持多宿主IP 站點;7) 作為系統(tǒng)服務運行。Serv-U 的安裝和設置非常簡單,在此不作介紹。
3 采用ODBC數(shù)據(jù)庫保存賬戶信息
Serv-U 5 及以后版本的域賬戶信息可以存放在:ini文件、計算機注冊表或ODBC數(shù)據(jù)庫中。對于用戶量較大情況,一般應將賬戶信息保存在計算機注冊表或ODBC數(shù)據(jù)庫中較好。因為在公共計算機實驗室環(huán)境,學生賬戶數(shù)巨大,且更新頻繁,需要自己開發(fā)賬戶管理程序,故采用ODBC數(shù)據(jù)庫存放較好。由于Access數(shù)據(jù)庫管理系統(tǒng)是Office的一個組件,且其操作簡便,功能強大,故建議采用Access數(shù)據(jù)庫保存賬戶信息。
采用ODBC數(shù)據(jù)庫存放用戶賬戶信息需要在新建域時選擇。Serv-U不會自動產(chǎn)生空數(shù)據(jù)庫,數(shù)據(jù)庫需要管理員自行創(chuàng)建。Serv-U非常靈活地處理數(shù)據(jù)庫賬戶信息,數(shù)據(jù)庫中可包含賬戶及組的所有信息,數(shù)據(jù)庫至少應包含一張用戶賬號表,該表至少應包含account name, home directory, password, and directory access rule等4列,分別代表賬戶名稱、主目錄、密碼和目錄權限。

表1 賬號表結構

圖1 Serv-U批量賬戶創(chuàng)建刪除程序主界面
采用ODBC數(shù)據(jù)庫保存賬戶信息的具體操作步驟為:1) 在Serv-U安裝目錄或其它目錄中創(chuàng)建一個用于保存賬戶信息的Access數(shù)據(jù)庫“賬號數(shù)據(jù)庫.MDB”;2) 在該數(shù)據(jù)庫中創(chuàng)建一張“賬號表”, 在對實際需求進行分析后,筆者認為該表較合理的結構如表1所示;
3) 創(chuàng)建系統(tǒng)ODBC數(shù)據(jù)源:進入“開始|控制面板|管理工具|ODBC數(shù)據(jù)源|系統(tǒng)DSN”添加一個系統(tǒng)DSN,名稱不妨取 FTPUsers,連接Access數(shù)據(jù)庫“賬號數(shù)據(jù)庫.MDB”;4) 在Serv-U與數(shù)據(jù)庫間建立連接:進入Serv-U管理程序“Domain | ODBC” 選項卡,完成ODBC database coupling settings參數(shù)的設置,即將ODBC數(shù)據(jù)源名、賬戶表名、賬戶表的字段名稱設置到相應行中。至此采用ODBC數(shù)據(jù)庫保存賬戶信息所有設置完成。如果域不能啟用,即在該域名上有一個經(jīng)色“X”符號,說明某處設置不正確,可進入Serv-U管理程序“Server | Activity | Session Log”選項卡,查看系統(tǒng)日志找出錯誤之處并改正錯誤。
4 大批量賬戶成批創(chuàng)建和刪除
通過上面介紹的操作可以將Serv-U的賬戶信息保存在ODBC數(shù)據(jù)庫中,我們仍然可以通可Serv-U的管理程序來管理賬戶,包括創(chuàng)建賬戶、刪除賬戶及更改密碼等操作。但用這種方法一次創(chuàng)建或刪除五六千學生用戶賬號,并創(chuàng)建相應的用戶主目錄及相關參數(shù)的設置,工作量巨大。為了能夠快束完成大批量賬戶成批創(chuàng)建和刪除工作,筆者結合所在學校的實際情況,用Visual Basic 6.0 設計了一個能夠大批量賬戶成批創(chuàng)建和刪除的程序,程序的主界面如圖1所示。使用該程序創(chuàng)建大批量賬號的操作步驟為:1) 學生用戶用學生的10位數(shù)字的學號作賬戶名稱,需要先將欲創(chuàng)建的賬戶名保存在一個純文本文件中,一行一個賬戶號;2) 從賬戶名文件文件讀取賬戶名;3) 檢查欲新建的賬戶名與賬戶數(shù)據(jù)庫的賬戶名是否存在重復,如存在重復,先解決重復問題;4) 使用循環(huán)結構對賬戶名文件文件中的每個賬戶名在賬戶數(shù)據(jù)庫中創(chuàng)建記錄,即創(chuàng)建賬戶及設置相關參數(shù),并創(chuàng)建賬戶的主目錄。指定創(chuàng)建賬戶的時間段可以成批刪除賬戶。
下面介紹一下實現(xiàn)該程序的主要內容:1) 程序使用ADO對象連接和操作賬戶數(shù)據(jù)庫;2) 密碼字段(Passdword)的保存:Serv-U的賬戶密碼可用加密碼形式保存,也可用不密碼形式保存。加密的方法是隨機生成兩個字母,然后將字母和密碼進行拼接,再求它們的MD5值,最后將隨機字母放在MD5值的前面便是加密后的密碼。考慮到在公共計算機實驗室為學生用戶提供存儲服務安全性安求較低,為便于設計賬戶管理程序,筆者采用數(shù)據(jù)庫中保存不加密的密碼,進入Serv-U管理程序“Domain | Settings | Advanced”選項卡,不選定“Store passwords in encrypted form”前的復選框;3) 用戶主錄目的創(chuàng)建:用戶主目錄包括用戶目錄位置、賬戶名前綴(可選)和賬戶名組成,調用函數(shù)Shell(\"cmd /c md \" strHomeDir, 0)完成;4) 用戶只能訪問其主目錄,故對每個賬戶RelPaths字段設置為True;5) 目錄訪問權限(Access字段)設置:該字段的值置為strHomeDir \"|RWAMLCDP\",其中strHomeDir為用戶主目錄名稱,R(讀取文件),W(寫文件),A(增加文件,文件上傳斷點續(xù)傳),M(修改文件,即文件更名和文件刪除), C(創(chuàng)建目錄), D(刪除目錄),L(目錄列表),P (子目錄繼承權限);6) Disable 字段均設置為False,QuotaEnable字段均設置為False,QuotaCurrent字段不用填寫。
成批創(chuàng)建或刪除賬戶,需要進入Serv-U管理程序 “Domain | ODBC” 選項卡,單擊“Reload Accounts From Database”命令按鈕使賬戶生效。
5 結束語
Serv-U 是一個非常好的FTP 服務器軟件,在公共計算機機房中為學生提供文件存儲服務必須解決大批量學生賬戶的創(chuàng)建和刪除問題。筆者在一臺安裝了Windows 2000 Server 操作系統(tǒng)的聯(lián)想萬全3200 服務器上,安裝了Serv-U FTP 5.0服務器軟件,賬戶信息保存了一個Access數(shù)據(jù)中, 利用本文介紹的方法創(chuàng)建了近10000 個帳號, 為每個帳號分配了20MB 的個人網(wǎng)絡存儲空間。一個學期的使用表明,這種方法簡單有效。利用Serv-U FTP創(chuàng)建網(wǎng)絡存儲,基本沒有增加硬件投資,改善了學生學習的網(wǎng)絡環(huán)境,學生可以方便地保存信息。
參考文獻:
[1] 閆靜,丁春暉.基于Serv-U的FTP服務器在實驗教學中的應用[J].福建電腦,2007(06):176-178.
[2] 劉榮立,季林.利用Serv-U實現(xiàn)高校公共機房文件網(wǎng)絡存儲[J].教育信息化,2006(13):78-79.
[3] 樊光輝.FTP帳戶的在線申請和密碼修改[J]電腦知識與技術(學術交流),2007,(16):89-91,93.
[4] 沈衛(wèi)星.FTP Serv-U用戶帳號的批量設置[J].電腦與電信,2008(01):57-59.
[5] 姜良華,麥范金,崔建明,韋興.Serv-U FTP服務器大批量帳號管理[J].計算機與現(xiàn)代化,2005,(11):65-66.
[6] 王曄.利用Serv-U及插件NtPostU實現(xiàn)FTP空間管理[J].電腦學習,2004(05):4-6.