黃培燦,鄒 裕,楊卓鑫,黎志雄
(東莞理工學院 廣東 東莞 523808)
隨著計算機及互聯(lián)網(wǎng)技術的發(fā)展,信息技術已經(jīng)滲透到各行各業(yè)。其中,校園信息化發(fā)展非常迅速。大多數(shù)學校都建有計算機教室和多媒體教室,并建立了校園網(wǎng)。校園的信息化使得傳統(tǒng)手寫黑板的教學方式逐步轉為計算機多媒體教學,教學的素材、課件,甚至學生的作業(yè)也逐步數(shù)字化、電子文檔化。筆者介紹一種基于Linux平臺,使用FTP、Web、Quota等技術構建適用于教學的資源服務器。教師可以把教學大綱、課件、資料都上傳到服務器,上課時可以從服務器直接下載到教室電腦,一方面可以避免使用U盤帶來的病毒危害,同時也為學生下載課件等提供了很大的方便;而學生可以上傳作業(yè)到服務器,免去了以往通過E-mail或U盤提交作業(yè)的繁瑣過程[1]。
圖1 數(shù)據(jù)流圖Fig.1 Flow chart of data
該服務器主要有兩大功能:資源共享及學生作業(yè)上傳。對于教師,需要上傳課程資料以及下載學生作業(yè);對于學生,需要查找瀏覽教師課程資料,下載資料及上傳作業(yè)[2]。用數(shù)據(jù)流圖(DFD)描述如圖1所示。
1)服務器操作系統(tǒng) 服務器的操作系統(tǒng),常用的有Windows2003及Linux。Linux因為它的低廉、出色的性能以及高穩(wěn)定性,以及大多數(shù)應用軟件可以免費獲得,越來越被用作服務器操作系統(tǒng)。Linux有許多不同的發(fā)行版本,其中Ubuntu系列具有強大的軟件包管理系統(tǒng)和服務器軟件支持,是一個非常適合用在服務器上的版本。
2)Web服務器軟件 Apache是世界使用排名第一的Web服務器軟件。Apache的特點是簡單、速度快、性能穩(wěn)定,并非常適合在Linux平臺上運行。
3)FTP服務器軟件 Proftpd是實現(xiàn)了一個安全且易于配置的FTP Server。Proftpd能夠根據(jù)不同的賬號與目錄來限定其訪問權限[3]。
4)Quota服務器軟件 Quota是 Linux下的一個實現(xiàn)磁盤配額的軟件。它能夠設定每個用戶的磁盤配額,防止用戶無限制地使用磁盤空間。它可以從兩方面指定磁盤的儲存限制:使用者所能夠支配的索引節(jié)點(Inodes)數(shù)量或使用者可以取用的磁盤區(qū)塊數(shù)量[4]。
服務器用戶賬號和用戶目錄的設計,需充分考慮對目錄訪問權限的控制。根據(jù)需求,須保證兩點:
1)教師可以上傳、下載、刪除其課程資料和學生作業(yè)。2)學生只能夠下載課程資料和上傳作業(yè)。
因為Proftpd是根據(jù)用戶賬號或用戶所屬組設定對不同的目錄的訪問控制。因此設計如下:
2.2.1 賬號的設計
每個教師應擁有一個賬號用于上傳和下載文件,此賬號為教師私有,帶密碼,而每個教師對應有另一個賬號,讓學生使用這個賬號來下載此教師的課程資料和上傳作業(yè)。因此,每個教師都對應兩個賬號,一個私有,帶密碼的;一個向學生公開,不帶密碼。教師私有賬號可用教師姓名全拼音命名,如huangpeican;公開賬號可在私有賬號后加字母s以區(qū)分,又方便學生記憶,如huangpeicans。教師的私有賬號屬于teacher這個用戶組,公開賬號屬于student這個用戶組。因為根據(jù)不同的賬號,系統(tǒng)可以判斷其所屬是teacher組還是student組,Proftpd從而根據(jù)其所屬的組,進行不同的權限控制[5],如表2所示。
表2 賬號設計Tab.2 Account design
2.2.2 主目錄的設計
教師主目錄指用教師的私有或公開賬號通過FTP直接登錄到的目錄,用于存放課程資料和學生作業(yè)。Proftpd通過結合賬號與目錄來進行權限控制。不同的賬號可以有不同訪問權限,而同一個賬號對不同的目錄亦可以有不同的訪問權限[5]。因此在教師主目錄下分別建立兩個目錄:“資源共享”和“學生作業(yè)”。“資源共享”目錄用于存放課程資料,“學生作業(yè)”目錄用于存放學生作業(yè)?;谶@樣的目錄設計,通過配置Proftpd,對兩種不同屬組的賬號(teacher組和student組)進行不同的訪問權限控制,如表3所示。
表3 目錄設計Tab.3 Directory design
2.2.3 Web瀏覽目錄設計
Web瀏覽目錄是指用瀏覽器可以直接訪問到的目錄,通過這個目錄查找所有教師的課程資料,實現(xiàn)查找瀏覽的功能。因為不希望讓教師主目錄下的“學生作業(yè)”目錄通過Web來訪問,所以在Web服務器文檔根目錄(DocumentRoot)中創(chuàng)建到每個教師“資料共享”目錄的符號鏈接(symbolic link)文件,并以教師姓名命名。
服務器的構建分為3個階段:第一階段Linux系統(tǒng)安裝,第二階段用戶賬號、目錄及磁盤配額的配置,第三階段服務器軟件安裝配置,如圖2所示。
圖2 服務器構建實施過程Fig.2 The implementation process of server construction
第一實施階段的總體目標是建立一個合適、穩(wěn)定、軟件安裝方便的Linux服務器,并安裝SSH服務器使得后續(xù)工作可以通過遠程連接方式進行。
1)安裝Ubuntu Linux服務器
到 http://www.ubuntu.org.cn下載 Ubuntu 8.04發(fā)行版本的IOS鏡像文件??啼浀焦獗P,并安裝。
2)軟件升級
設置更新源。盡量選用國內的源,如:http://ubuntu.cn99.com/ubuntu/。
#apt-get update 更新包信息
#apt-get upgrade 升級
3)安裝SSH服務器,用于遠程登錄。
#apt-get install ssh-server 安裝ssh服務端
#apt-get install ssh-client 安裝ssh客戶端
第二實施階段的總體目標是建立用戶、組及相關目錄,并設置目錄屬主及屬組、用戶磁盤配額。這個階段需要進行Perl的安裝及應用編程。
1)安裝 Perl。
#apt-get install perl 安裝
2)安裝 Quota。
#apt-get install quota 安裝
3)用戶管理,目錄權限設置。建立教師賬號,設置相應的主目錄及目錄權限。這個工作很繁瑣,重復性高,因此使用Perl腳本程序自動進行,提高效率。
①建立教師主目錄的上級目錄。
#mkdir–p/home/teachers 創(chuàng)建
② 建 立 一 份 由 “username”、 “chinesename”、 “passwd”、“done”4個字段組成的教師信息文件teaching.conf。在里面錄入教師的賬號名、姓名、密碼及處理完與否標志。如:zhangsan張三123456 N
③編寫Perl腳本。Perl是一種設計成可以把簡單工作簡單化,同時又不失去處理困難問題能力的語言。它可以很容易操作數(shù)字,文本,文件和目錄以及運行外部程序,因此非常適合編寫腳本程序,提高管理效率。程序流程圖如圖3所示。
圖3 程序流程圖Fig.3 Flow chart of program
④運行Perl程序。
#./teaching_install.pl 運行
4)磁盤配額初始化檢查[4]。
#quotacheck-a 運行
第三實施階段的總體目標是安裝配置Web、FTP服務器[6]。
3.3.1 Web服務安裝配置
1)安裝 Apache
#apt-get install apache2 安裝
2)創(chuàng)建網(wǎng)站配置文件
#cd/etc/apache2/sites-available/ 切換目錄
#vi/etc/apache2/sites-available/teaching 創(chuàng)建編輯文件
添加的主要內容如下:
NameVirtualHost*
<VirtualHost*>
DocumentRoot/var/www/teaching/html設定文檔根目錄
<Directory/var/www/teaching/html> 配置文檔根目錄為可瀏覽等
Options Indexes FollowSymLinks MultiViews
IndexOptions Charset=GB2312 FancyIndexing FoldersFirst
AllowOverride Indexes FileInfo AuthConfig Limit
Order allow,deny
allow from all
</Directory>
</VirtualHost>
3)建立網(wǎng)站符號鏈接到site-enable目錄
#ln-s/etc/apache2/sites-available/teaching/etc/apache2/sites-enabled/teaching
4)重啟Apache,使配置生效
#/etc/init.d/apache2 restart 重啟Apache
3.3.2 FTP服務安裝配置
1)安裝FTP
#apt-get install proftpd 安裝
2)編輯配置文檔
#vi/etc/proftpd/proftpd.conf 編輯
添加的主要內容如下:
<Directory~/學生作業(yè)> 設定 “學生作業(yè)”目錄的訪問權限
AllowOverwrite off
<Limit RETR RMD DELE RNFR> 設置下載、刪除目錄、刪除文件、更改文件名權限
DenyGroup student 禁止 student用戶組擁有以上權限
</Limit>
<Directory~/資源共享> 設定 “資源共享”目錄的訪問權限
<Limit STOR RMD DELE> 設置上傳、刪除目錄和文件的權限
DenyGroup student 禁止 student用戶組擁有以上權限
</Limit>
</Directory>
3)重啟FTP,使配置生效
#/etc/init.d/proftpd restart 重啟Proftpd
教學資源服務器主要的功能是資源共享。資源共享必須解決文件的存取、查找瀏覽等問題。筆者提出一種基于Linux平臺,使用FTP、Web、Quota等技術構建的適用于教學的資源服務器的設計思想。利用FTP進行文件的傳輸,Web服務器建立目錄瀏覽界面,Quota控制磁盤空間的分配,實現(xiàn)了教學資源共享及學生作業(yè)上傳的兩大功能。通過給每個教師配置私有賬號和公開賬號,并針對“資源共享”和“學生作業(yè)”目錄進行FTP權限控制,防止學生下載作業(yè)及破壞課程資料。由于服務器系統(tǒng)是基于Linux平臺,系統(tǒng)的性能及穩(wěn)定性得到很好的保證、軟件安裝配置簡單。在使用上也非常方便,使用IE瀏覽器以HTTP或FTP方式即可訪問教學資源,而無需安裝任何客戶端軟件。
[1]李紅艷.架設FTP服務器共享教學資源[J].電腦知識與技術,2009(3):663-664.LIHong-yan.To set up FTP Servers,sharing teaching resources[J].ComputerKnowledgeandTechnology,2009(3):663-664.
[2]楊美濃.如何構建適應教學的FTP服務器[J].電腦學習,2009(2):81-82.YANG Mei-nong.Building a FTP server of adapting teaching[J].Computer Study, 2009(2):81-82.
[3]羅飛,朱華生.Linux系統(tǒng)FTP的應用[J].計算機與現(xiàn)代化,2003(12):105-106 LUO Fei,ZHU Hua-sheng.Application of FTP on Linux[J].Computer and Modernization, 2003(12):105-106.
[4]張守勝,吳潔.創(chuàng)建FTP服務器和設計磁盤配額的方法與實現(xiàn)[J].現(xiàn)代電子技術,2004(18):50-51,53.ZHANG Shou-sheng,WU Jie.Method and implementation of establishing FTP server and designing disk quota[J].Modern Electronic Technique,2004(18):50-51,53.
[5]邢金萍.校園網(wǎng)絡FTP服務器用戶權限管理及訪問控制[J].硅谷,2009(2):80.XING Jin-ping.FTP server campus network user rights management and access control[J].Silicon Valley,2009(2):80.
[6]羅云芳,黃富革.LAMP環(huán)境的安裝配置[J].廣西職業(yè)技術學院學報,2009(2):9-12.LUO Yun-fang,HUANG Fu-ge.Setup configuration of LAMP environment[J].Journal of Guangxi Vocational and Technical College,2009(2):9-12.