劉偉法
(常熟理工學院 計算機科學與工程學院,江蘇 常熟 215500)
Serv-U與VB文件系統(tǒng)編程在實驗教學中的應用
劉偉法
(常熟理工學院 計算機科學與工程學院,江蘇 常熟 215500)
本文使用VB的文件系統(tǒng)編程,實現(xiàn)了批量創(chuàng)建Serv-U用戶及批量進行權限設置的功能,并能批量創(chuàng)建每個用戶的宿主文件夾與每個實驗的子文件夾,給實驗教學提供了較大方便。
Serv-U;VB;文件系統(tǒng)編程;用戶權限
實驗教學中經(jīng)常要進行文件的上傳與下載,尤其是學生提交實驗成果、下載實驗素材更是家常便飯的事情,為此很多教師都使用了Serv-U作為FTP服務器來完成上述任務,Serv-U是現(xiàn)今Windows下最流行、功能最強大、使用最簡單的FTP服務器軟件之一,但是在日常使用中,如果僅為每次實驗創(chuàng)建一個文件夾,然后每個學生將實驗結果提交進指定文件夾,這種管理方式容易導致學生互相拷貝的情形出現(xiàn),盡管上傳時可以設定僅允許寫入不允許讀取的權限,但對于像數(shù)字媒體制作類課程需要多次實驗課時完成一次實驗的情況,還是不能有效控制,因為第二次課有必要將上次提交的下載下來以便繼續(xù)制作,這樣必須開放讀取權限。為此,必須為每個學生設置不同的用戶帳戶,如果用手工方式在Serv-U中同時設置大量的用戶帳號,工作量將十分巨大。通過分析Serv-U軟件的配置文件ServUDaemon.ini,配合讀取每個班級學生的學號姓名文件,我們可以通過VB編程來設置其中的參數(shù)值,從而實現(xiàn)批量用戶帳號的添加與設置,同時根據(jù)需要實現(xiàn)批量創(chuàng)建用戶文件夾等功能。
Serv-U的用戶信息配置文件為ServUDaemon.ini,其文件結構如下:
通過對上述文件分析,注冊用戶名統(tǒng)一放在[Domain1]項目下面,此處的一個注冊用戶描述為User1=xupeng|1|0,用戶的具體權限信息放在以每個用戶名標志的項目下,此處為[USER=xupeng|1],此項目下相關行的含義:
(1)Password行放的是利用MD532位加密過的帳戶密碼。其產(chǎn)生規(guī)則為:兩位隨機碼與MD532位加密,例如:對任意給定的兩個隨機字母:xm;用戶輸入密碼:112233;生成的加密密碼應為:xm.+MD5(xm112233)。
(2)HomeDir行放的是注冊用戶的宿主目錄。
(3)Access1行是注冊用戶目錄與存取權限的描述,其中RWAMELCDP表示對文件與目錄的訪問權限,前面部分RWAME表示對文件的訪問權限為:可讀、可寫、可增加、可刪除、可執(zhí)行,后面部分LCDP表示對目錄的訪問權限為:可列表、可創(chuàng)建、可刪除、可繼承。
第一,利用32位MD5加密算法,實現(xiàn)用戶密碼的加密。
由于Serv-U密碼加密算法為隨機碼與MD532位加密,所以Serv-U中的加密函數(shù)可以編制如下:
其中MD5函數(shù)為MD5加密算法函數(shù),大家可以參考相關文獻及其VB實現(xiàn)的相關資料。
第二,VB編程實現(xiàn)產(chǎn)生8位數(shù)字隨機碼的函數(shù)PWD8(),以便以后調(diào)用:
第三,在VB中編程實現(xiàn)批量注冊用戶名的設計過程:
先在Serv-U中建立一個注冊用戶,設置恰當?shù)臋嘞?,作為批量用戶的模版;然后建立班級名單的txt文本文檔,每行以“學號,姓名”的格式存放(筆者從班級名單的Excel文件轉換而來);然后在VB中創(chuàng)建一個exe項目,把前面準備好的函數(shù)放在一個公用module下,并創(chuàng)建一個form設計如下的界面及實現(xiàn)相關功能:
批量創(chuàng)建用戶宿主目錄的代碼如下:
執(zhí)行完成后將獲得批量注冊用戶的文件ServUUsers.txt,并將此文件的內(nèi)容拷貝到ServUDaemon.ini的[Domain1]項目下面。
創(chuàng)建ServU用戶權限描述文件最為重要,也相對復雜,具體創(chuàng)建時參照下面從ServUDaemon.ini中獲得的每個用戶權限的模版:
執(zhí)行上述代碼后將獲得批量用戶的權限設置文件ServU-Access.txt,以及每個用戶的密碼文件usersPWD.txt,將ServU-Access.txt文件的內(nèi)容拷貝到ServUDaemon.ini的用戶權限設置部分(位于[Domain1]部分的下面)。將usersPWD.txt的內(nèi)容公布給學生并要求每個學生記住自己的登錄密碼。
每次實驗之前通過批量創(chuàng)建子目錄功能將在每個用戶的宿主目錄創(chuàng)建相應的實驗子目錄。
筆者利用此程序管理學生實驗,效果極為理想,對于教師個人使用此方法來管理學生實驗不失為一種較佳的選擇。但這只是一種使用文件系統(tǒng)功能實現(xiàn)的輕量級的方法,對于大量教師使用時,有必要結合Serv-U的ODBC數(shù)據(jù)庫功能編制相關的數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)。☉
[1]林卓然.VB語言程序設計[M].北京:電子工業(yè)出版社,2009.
(編輯:金冉)
G434
B
1673-8454(2012)05-0076-03