張晗 馬建紅
摘 要 當前雖然有很多高校將Linux課程作為本科學生的必修課,但是在高校中專業的Linux實驗室卻并未普及。在不增加機房管理員工作量以及學生可以充分體驗Linux系統性能的前提下,本文提出了一種利用網絡來實現Linux系統實踐平臺的構造方法,并且描述了整體方案的設計以及實現細節,論證了不同教學實踐平臺的優缺點。
關鍵詞 Linux系統實踐平臺 網絡 Linux實驗室 高等教育
中圖分類號:TP311.11文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2016.01.076
Plans on Linux Systems Practice Platforms Construction
ZHANG Han, MA Jianhong
(Software College of Zhengzhou University, Zhengzhou, He'nan 450000)
Abstract Although there are many colleges and universities will present Linux courses as a required course for undergraduate students, but in universities specialized Linux laboratory has not spread. Without increasing the room administrator workload and students can fully experience the Linux system performance under the premise, this paper presents a method of using the Internet to achieve the construction practice Linux system platform, and describes the design and implementation details of the overall program, demonstrated advantages and disadvantages of different teaching practice platform.
Key words Linux Systems practice platform; network; Linux laboratory
Linux作為一款優秀的操作系統,在移動通訊、網絡安全、集群計算、嵌入式等領域發揮著重要的作用。近幾年來,社會對Linux的認可度逐漸提高,國家也在大力推行Linux操作系統的使用。因此,越來越多的高校將Linux課程列為了本科學生的必修課。但是,事實上,很多高校都沒有建立起專業的Linux實驗室,如何利用現有的環境來構造出一個Linux的實驗環境成為一項亟待解決的問題。
1 現有實驗環境概括
目前絕大多數高校建立Linux實驗環境一般采用的都是如下兩種方法:
(1)在PC機的硬盤上直接安裝Linux和windos兩種系統,在開機時讓學生做出選擇,使用windows或者Linux。這樣做的好處是,學生可以真正掌握Linux的使用環境,接觸到到內核模塊編寫等底層實驗。但缺點也有很多,比如學生隨意修改root密碼,或者因為一些不當操作對內核造成了損害無法開機必須重裝系統等等。
(2)在PC機上安裝虛擬機,然后在虛擬機上安裝Linux操作系統。這樣做的好處在于可以實現Linux和windos操作系統的任意切換,并且可以讓學生嘗試做自己想要完成的一切操作。因為在虛擬機里含有一個快照功能,這個功能其實類似于windows操作系統的一鍵還原,無論在操作過程中出現什么樣的情況,即使將系統的關鍵文件全部刪除,也可以恢復到操作之前的狀態。但是虛擬機有個很致命的問題在于會導致系統的不穩定,出現一些奇怪的錯誤。
因此,我們考慮使用一臺專業的Linux服務器,利用網絡來實現Linux系統實踐平臺的設置。
2 實踐平臺構想
要實現我們的實踐平臺,除了要讓學生們可以通過網絡訪問服務器上的Linux系統資源外,還應該解決兩個問題:首先需要讓每一個想要使用實踐平臺的學生都可以自己注冊一個用戶名并且設置自己的密碼。其次,教師可以掌握每個學生登錄退出系統的時間以及在登錄時間內所做的操作。
2.1 用戶注冊
通常,Linux系統中用戶分為三大類,root用戶、普通用戶和系統用戶。
Root用戶也被稱為是根用戶,具有系統中的最高權限,通常進行系統管理。普通用戶可以登錄系統執行某些任務。普通用戶屬于是受限用戶,只能操作其權限范圍內的文件和目錄。學生們注冊的用戶就屬于是這類用戶的范疇。但是,普通用戶只能由root用戶創建。如果說,所有學生的用戶名和密碼都交給root來進行創建的話,既增加了管理員的工作量,創建出的用戶名和密碼又不利于學生記憶,所以我們可以考慮讓學生自己來注冊用戶。
讓學生自己來注冊用戶,需要做如下一些工作:
2.1.1 建立遠程連接
首先在學生使用的PC機上安裝putty客服端,這是一個免費的、Windows 32平臺下的telnet、rlogin和ssh客戶端,全面支持ssh1和ssh2。這樣就可以在windows平臺下使用putty連接遠程linux主機。如果putty提示“Connection refused”,那么可能是遠程主機沒有安裝OpenSSH。可以通過命令
# rpm -qa openssh
# rpm -qa openssh-server
查看是否安裝OpenSSH。如果沒有,需自行安裝。一般系統安裝盤中都有OpenSSH的安裝軟件包。如果已經安裝了OpenSSH,那么可能的原因就是SSH沒有啟動。輸入命令: ?#/etc/init.d/ssh ?start
配置ssh-server,其配置文件位于/etc/ssh/sshd_config,默認端口為22,為了安全,我們通常自定義為其他端口,然后再重啟,使用命令如下:
#sudo /etc/init.d/ssh ?resart
2.1.2 創建公共用戶admin
因為我們不可能讓所有學生的用戶名和密碼都交給根用戶root來進行創建,也不可以把root的用戶名和密碼直接告知給學生,所以這個時候我們可以手動創建出一個公共用戶admin,讓它可以暫時獲得root權限中創建用戶名和密碼的權限。編輯配置文件使用命令visudo,需要注意的是編輯sudo的配置文件/etc/sudoers是一般不建議直接使用命令#vi ?/etc/sudoers去編輯,因為在sudoers配置文件中有語法,直接用vi編輯,系統不會檢查語法對錯,這樣可能導致無法使用sudo工具,所以最好使用visudo命令去編輯配置文件。雖然visudo也是調用vi去編輯,但是保存時系統會進行語法檢查,如果出現錯誤則會進行提示。添加如下語句:
admin ALL=/sbin/passwd;/sbin/useradd
這句話表示用戶admin會暫時獲得用戶root添加用戶和修改用戶密碼的權利。學生可以利用putty客服端以及公共用戶admin來登錄到Linux系統中自行創建自己的用戶名和密碼。
2.2 獲取學生上機下機時間以及登錄時間內做的操作
在linux系統的環境下,用戶只要登錄系統后所做的所有操作我們都可以通過命令history來查看,可是假如一臺服務器有多人登陸,而其中的某個人誤操作或刪除了重要的數據。而history命令只對登錄用戶執行有效,即使root用戶也無法得到其它用戶histotry歷史,這個時候就無法查到究竟歷史記錄了。
這個時候,可以在/etc/profile文件中寫如下代碼:
PS1="`whoami`@`hostname`:"'[$PWD]'
History
read -p “please key in your teachers name :” teacher
uip=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$uip" = " " ]
then
uip=`hostname`
fi
if [ ! -d /tmp/teacher ]
then
mkdir /tmp/teacher
chmod 777 /tmp/teacher
fi
if [ ! -d /tmp/teacher”$LOGNAME“ ]
then
mkdir /tmp/teacher/$“LOGNAME”
chmod 700 /tmp/teacher/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/teacher/${LOGNAME}/${uip}.$DT"
chmod 700 /tmp/teacher/${LOGNAME}/${uip}.$DT>/dev/null
寫好之后保存,然后使用source /etc/profile 使腳本生效。
這段腳本的主要目的就是在/tmp新建個teacher目錄,然后以所有登錄過系統的用戶和IP地址作為文件名,每當用戶登錄/退出會創建相應的文件,該文件保存這段用戶登錄時期內操作歷史。
這樣教師就可以根據記錄的文件來查看學生的登錄及退出時間以及在這段時間里所做的所有操作。
3 結束語
利用Linux服務器和Linux穩定的網絡功能我們構建出這樣的實驗平臺,這樣既解決了需要將微機重新安裝Linux操作系統的繁瑣問題,又解決了在虛擬機環境下安裝Linux系統出現的不穩定問題。創建這樣的實踐操作平臺有利于高等院校發展Linux教學和實踐活動,培養出更多Linux人才。
參考文獻
[1] 鳥哥.鳥哥的Linux私房菜.人民郵電出版社,2010(3).
[2] 史葦杭.Linux配置與管理教程.科學出版社,2013(6).
[3] Bovet D P,Cesati M.深入理解Linux內核[M].第3版.陳莉君,張瓊聲,張宏偉,譯.北京:中國電力出版社,2007.