1. 需求分析
1.1 課題簡介
隨著計算機網際網路的迅速發展,大多數學校已經實現教學的資訊化,從傳統的黑板教學方式轉變為現階段的多媒體教學,教學的資源,素材課件,甚至學生的作業也都實現數字化,為了實現這一功能,運用課程所學知識,構建一種基於 Linux 系統的教學資源伺服器。教師可以把資源上傳到伺服器,供學生下載,可以把教學大綱、課件、資料都上傳到伺服器,上課時可以從伺服器直接下載到教室電腦,學生也可以上傳作業,供給老師批改,從而讓教師教學更加便利。
1.2 需求分析
伺服器主要實現教學資源共享以及學生作業上傳兩大功能,並且能針對教師和學生所用賬號,對資源共享和學生作業兩個目錄進行許可權控制,使得教師可以上傳、下載、刪除其資源共享和學生作業目錄下的內容,而學生只能下載資源共享目錄下的內容和上傳作業。
2. 總體設計
2.1 賬號和目錄設計
每個教師應擁有一個賬號用於上傳和下載檔案,此賬號為教師私有,帶密碼,而每個教師對應有另一個賬號,讓學生使用這個賬號來下載教師的課程資料和上傳作業。因此,每個教師都對應兩個賬號,一個私有,帶密碼的;一個向學生公開,不帶密碼。
表 1 賬號設計
賬號型別 | 所屬組 | 密碼 |
---|---|---|
私有賬戶 | 教師 | 123 |
公開賬戶 | 學生 | 123 |
表 2 目錄設計
目錄 | 教師許可權 | 學生許可權 |
---|---|---|
資源共享 | 完全許可權 | 檢視、下載 |
學生作業 | 完全許可權 | 檢視、上傳 |
2.2 許可權控制方案設計
-
每個教師都有一個私人賬號和一個公開賬號,後者的密碼和賬號相同
-
每個教師都有對應的“資源共享”和“學生作業”兩個目錄
-
可通過 FTP 的方式上傳和下載檔案,許可權設定為教師可以上傳、下載、刪除其資源共享和學生作業目錄下的內容,而學生只能下載資源共享目錄下的內容和上傳作業
3. 伺服器構建
3.1 基本系統配置
作業系統:Linux(Ubuntu 14.04.6 LTS)
Web伺服器:apache2 (2.4.7)
FTP伺服器:proftpd-basic
Samba伺服器:Samba
Libtalloc2
3.1.1 軟體源伺服器地址修改
在路徑 /etc/apt/sources.list中編輯下載源伺服器
3.1.2 安裝Vim
3.2 賬號及其對應目錄的建立
3.2.1 建立賬號
防止ftp使用者用終端登入
在/etc/shells上加一行/usr/sbin/nologin
3.2.2 建立目錄
設定檔案所屬組和所屬使用者
學生加寫作業的許可權
3.3 FTP伺服器安裝與配置
3.3.1 軟體安裝
更新包資訊
升級
安裝proftpd
檢視proftpd狀態
3.3.2 伺服器配置
sudo vim /etc/proftpd /proftpd.conf
限制student使用者組,刪除目錄(RMD),刪除檔案(DELE) ,上傳(STOR),下載(RETR)
sudo /etc/init.d/proftpd restart
重啟ftp伺服器
3.4 HTTP伺服器安裝與配置
3.4.1 軟體安裝
3.4.2 伺服器配置
刪除原有的檔案,建立軟連線
3.5 Samba伺服器安裝與配置
3.5.1 軟體安裝
3.5.2 伺服器配置
在/etc/samba/smb.conf中配置
建立samba使用者
Sudo smbpasswd –a zhangjie
重啟samba sudo service sambd restart
在我的電腦中輸入[\192.168.239.128\zhangjie](file:///\192.168.239.128\zhangjie)然後輸入賬號密碼登入
3.6 shell管理程式的設計與實現
編寫namefile.txt檔案裡面是教師的賬號
編寫shell.sh
4. 伺服器功能測試
4.1 FTP檔案傳輸功能測試
4.1.1 教師私人賬號功能測試
教師私人賬號擁有對資源共享和學生作業這兩個資料夾裡面的所有內容的增加和刪除功能
4.1.2教師公開賬號功能測試
教師的公開賬號只能檢視並下載共享資源裡面的內容,只能上傳學生作業,不能刪除和下載作業
4.2 HTTP瀏覽共享資源功能測試
4.3 通過Samba訪問共享資源功能測試
在我的電腦上方輸入欄輸入[\Samba](file:///\Samba)伺服器的ip地址
然後通過賬號,密碼登入
5. 總結
5.1完成的任務情況和心得體會
教學資源伺服器主要的功能基本實現。資源共享需要解決檔案的存取、查詢瀏覽等問題。利用FTP進行檔案的傳輸,Web伺服器建立目錄瀏覽介面,實現了教學資源共享及學生作業上傳的兩大功能。通過給每個教師配置私有賬號和公開賬號,並針對“資源共享”和“學生作業”目錄進行FTP許可權控制,防止學生下載作業及破壞課程資料。由於伺服器系統是基於Linux平臺,系統的效能及穩定性得到很好的保證、軟體安裝配置簡單。在使用上也非常方便,使用瀏覽器或FTP方式即可訪問教學資源,而無需安裝任何客戶端軟體。
5.2存在的問題和改進思路
ftp使用者可以通過遠端終端登入主機,存在安全隱患,可在/etc/shells上加一行/usr/sbin/nologin,新增ftp使用者時,設定許可權防止ftp使用者通過遠端終端登入。
ftp只能管理檔案的上傳,下載,不能管理磁碟的空間儲存容量等問題,可能會出現檔案過多,空間容量不足的情況,可以安裝相應的儲存空間管理軟體,協助管理。
教師的私有賬號有學生作業這個資料夾的全部許可權,但是公共賬號如果在學生作業上傳了一個檔案,那麼教師的私有賬號無法刪除這個資料夾,只能通過後期管理員修改許可權刪除。