摘 要: 針對Linux系統(tǒng)應(yīng)用中資源網(wǎng)絡(luò)共享的方法,研究采用NFS、Samba、FTP和其他軟件工具實(shí)現(xiàn)共享的途徑及其特殊性,實(shí)現(xiàn)安全、可靠、穩(wěn)定和完善的Linux系統(tǒng)資源共享服務(wù)。
關(guān)鍵詞: 嵌入式;操作系統(tǒng);Linux系統(tǒng);網(wǎng)絡(luò)服務(wù);資源共享
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),且軟硬件可裁減,適用于對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)的出現(xiàn)解決了嵌入式軟件開發(fā)標(biāo)準(zhǔn)化的難題。
嵌入式操作系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。近兩年來,Linux在嵌入式領(lǐng)域異軍突起,它的獨(dú)特性使其作為開發(fā)嵌入式產(chǎn)品的操作系統(tǒng)具備巨大的潛力。Linux具有一些獨(dú)特的優(yōu)勢:層次結(jié)構(gòu)及內(nèi)核完全開放;強(qiáng)大的網(wǎng)絡(luò)支持功能;具備一整套工具鏈;廣泛的硬件支持特性。目前,Linux主要應(yīng)用于服務(wù)器、桌面和嵌入式系統(tǒng)。
Linux是一個(gè)網(wǎng)絡(luò)操作系統(tǒng),在一般操作系統(tǒng)的功能上增加了網(wǎng)絡(luò)功能,具體包括如下功能。
(1)實(shí)現(xiàn)網(wǎng)絡(luò)中各計(jì)算機(jī)之間的通信和資源共享;
(2)提供多種網(wǎng)絡(luò)服務(wù)軟件;
(3)提供網(wǎng)絡(luò)用戶的應(yīng)用程序接口。
而且Linux與其他商業(yè)化的網(wǎng)絡(luò)操作系統(tǒng)不同,它是由以Linus Torvalds為首的一批Internet上的志愿者開發(fā)的,完全免費(fèi),并與另一著名的網(wǎng)絡(luò)操作系統(tǒng)UNIX完全兼容,是一個(gè)具有很高性價(jià)比的網(wǎng)絡(luò)操作系統(tǒng)[1]。Linux系統(tǒng)核心結(jié)構(gòu)圖如圖1所示。
1 Linux網(wǎng)絡(luò)服務(wù)類型
網(wǎng)絡(luò)是信息傳輸、接收、共享的虛擬平臺,通過它把各個(gè)點(diǎn)、面、體的信息聯(lián)系到一起,從而實(shí)現(xiàn)這些資源的共享。隨著技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已經(jīng)成為了人們獲取、利用、處理和交換資源的重要方式,因此,無論是在工程項(xiàng)目實(shí)踐還是在日常學(xué)習(xí)生活中,如何建立信息高速流通通道,實(shí)現(xiàn)網(wǎng)絡(luò)資源共享都顯得十分重要[2]。
Linux具有強(qiáng)大的網(wǎng)絡(luò)功能,可以和多種網(wǎng)絡(luò)進(jìn)行集成,實(shí)現(xiàn)不同系統(tǒng)平臺之間的資源共享管理。當(dāng)Linux作為網(wǎng)絡(luò)中的資源共享服務(wù)器時(shí),按照所服務(wù)系統(tǒng)的不同,一般有3種方式[3]。
(1)Linux客戶訪問Linux服務(wù)器;
(2)Windows客戶與Linux服務(wù)器之間的相互訪問;
?。?)Windows客戶或者其他類型的客戶訪問Linux服務(wù)器。
其中每種訪問方式實(shí)現(xiàn)的工具是不同的,如圖2所示。
2 Linux網(wǎng)絡(luò)資源共享實(shí)現(xiàn)方法
以下討論基于Red Hat Enterprise Linux 5.0版本。
2.1 網(wǎng)絡(luò)文件系統(tǒng)NFS
網(wǎng)絡(luò)文件系統(tǒng)NFS(Network File System)實(shí)際上是一種Linux系統(tǒng)之間文件共享協(xié)議,它與HTTP和FTP協(xié)議不同,不需要把文件從服務(wù)器下載到本地來訪問。
NFS是通過將NFS服務(wù)器的文件系統(tǒng)安裝到客戶機(jī)的文件系統(tǒng)上而得以實(shí)現(xiàn)的。NFS客戶端通過掛載NFS文件系統(tǒng)的方式訪問NFS服務(wù)器中輸出的共享目錄,同一臺主機(jī)在系統(tǒng)訪問過程中既可以是NFS服務(wù)器也可以作為NFS客戶機(jī)。
在嵌入式Linux系統(tǒng)的開發(fā)調(diào)試階段,可以利用該技術(shù)在主機(jī)上建立基于NFS的根文件系統(tǒng),掛載到嵌入式設(shè)備,可以很方便地修改根文件系統(tǒng)的內(nèi)容。
2.1.1 配置NFS服務(wù)器
要配置NFS服務(wù)器,可以通過使用文本編輯器(如vi或gedit)修改配置文件/etc/exports的方法來完成。 /etc/exports文件的格式為:
directory_to_export NFS_client(permissions)[NFS_client(permissions)…]
在每次改變/etc/exports的時(shí)候,必須把改變通知給NFS守護(hù)進(jìn)程,或使用以下命令來重新載入配置文件:
/sbin/service nfs reload
除了以手動方式配置NFS服務(wù)器外,還可以通過使用圖形界面下的NFS服務(wù)器配置工具進(jìn)行配置。NFS服務(wù)器配置工具如圖3所示。
單擊“增加”,出現(xiàn)如圖4所示的界面,可以在這個(gè)界面中添加要導(dǎo)出的文件系統(tǒng)。
2.1.2 啟動和停止NFS服務(wù)
要啟動或停止NFS服務(wù),必須以root登錄并使用以下命令來啟動NFS守護(hù)進(jìn)程,其命令格式如下:
/sbin/service nfs[start|stop]
要啟動NFS,在“#”提示符下鍵入以下命令行:
/sbin/service nfs start
該命令在執(zhí)行過程中會顯示啟動過程是否正確,如圖5所示。
要停止NFS,則在“#”提示符下鍵入以下命令行:
/sbin/service nfs stop
該命令會顯示如圖6所示窗口。
可以使用以下命令來查看NFS守護(hù)進(jìn)程的狀態(tài),從而確定命令操作是否成功。
/sbin/service nfs status
2.1.3 使用NFS文件系統(tǒng)
安裝遠(yuǎn)程文件系統(tǒng)與安裝本地文件系統(tǒng)相同,都要使用mount命令,所不同的是,需要在文件系統(tǒng)路徑名之前加上遠(yuǎn)程主機(jī)的名字。mount命令格式為:
mount [-Fnfs][-o option] hostname:pathname mountpoint
2.2 Samba服務(wù)器
Samba是在Linux系統(tǒng)上實(shí)現(xiàn)SMB協(xié)議的一個(gè)免費(fèi)軟件,由服務(wù)器及客戶端程序構(gòu)成。信息服務(wù)塊SMB(Server Messages Block)是一種在局域網(wǎng)上共享文件和打印機(jī)的通信協(xié)議。SMB協(xié)議是客戶機(jī)/服務(wù)器型協(xié)議,它為局域網(wǎng)內(nèi)的不同計(jì)算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)??梢酝ㄟ^Samba服務(wù)程序的使用來實(shí)現(xiàn)Linux和Windows系統(tǒng)之間的資源共享[4]。
2.2.1 Samba的組成
組成Samba運(yùn)行的有兩個(gè)服務(wù),一個(gè)是SMB,另一個(gè)是NMB。SMB是Samba的核心啟動服務(wù),只有SMB服務(wù)啟動,才能實(shí)現(xiàn)文件的共享;而NMB服務(wù)是負(fù)責(zé)解析的,類似于DNS實(shí)現(xiàn)的功能,NMB可以把Linux系統(tǒng)共享的工作組名稱與其IP對應(yīng)起來。如果NMB服務(wù)沒有啟動,就只能通過IP來訪問共享文件。
2.2.2 Samba的配置
Samba服務(wù)器配置工具是用來管理Samba共享、用戶以及基本服務(wù)器設(shè)置的圖形化界面。配置Samba服務(wù)器的第一步是配置服務(wù)器的基本設(shè)置和幾個(gè)安全選項(xiàng),如圖7和圖8所示。
配置Samba服務(wù)器的第二步是添加Samba用戶,如圖9所示。接下來是添加共享,其窗口如圖10所示。
2.2.3 啟動和停止Samba服務(wù)器
使用以下命令來啟動守護(hù)進(jìn)程:/sbin/service smb start
使用以下命令來停止守護(hù)進(jìn)程:/sbin/service smb stop
2.2.4 連接Samba共享
要從Microsoft Windows機(jī)器上連接Linux Samba共享,可以使用“網(wǎng)上鄰居”或圖形化文件管理器。也可用DOS命令通過IP地址進(jìn)行登錄,例如:\\192.168.0.112。
2.3 FTP服務(wù)器
FTP是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。用于Internet上的控制文件的雙向傳輸。同時(shí),它也是一個(gè)應(yīng)用程序(Application)。基于不同的操作系統(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議以傳輸文件。在FTP的使用當(dāng)中,用戶經(jīng)常遇到兩個(gè)概念:“下載”(Download)和“上傳”(Upload)?!跋螺d”文件就是從遠(yuǎn)程主機(jī)拷貝文件至自己的計(jì)算機(jī)上;“上傳”文件就是將文件從自己的計(jì)算機(jī)中拷貝至遠(yuǎn)程主機(jī)上,用戶可通過客戶機(jī)程序向(從)遠(yuǎn)程主機(jī)上傳(下載)文件。
一般在各種Linux的發(fā)行版中,默認(rèn)帶有的FTP軟件是VSFTP,從各個(gè)Linux發(fā)行版對VSFTP的認(rèn)可可以看出,VSFTP是一款不錯的FTP軟件。
2.3.1 安裝VSFTPD服務(wù)器
根據(jù)服務(wù)對象的不同,F(xiàn)TP服務(wù)可以分為兩類:一類是系統(tǒng)FTP服務(wù)器,它只允許系統(tǒng)上的合法用戶使用;另一類是匿名FTP服務(wù)器,它允許任何人登錄到FTP服務(wù)器,和服務(wù)器連接后,在登錄提示中輸入Anonymous(匿名),即可訪問服務(wù)器。
可以在終端命令窗口輸入以下命令對系統(tǒng)是否安裝vsftpd軟件進(jìn)行驗(yàn)證:
#rpm-qa grep vsftpd
如果結(jié)果顯示為“vsftpd-1.1.3-8”(軟件版本),則說明系統(tǒng)已經(jīng)安裝vsftpd服務(wù)器。如果系統(tǒng)未安裝,那么在終端命令窗口運(yùn)行以下命令即可開始安裝進(jìn)程:
#rpm-ivh vsftpd-1.1.3-8.i386.rpm
2.3.2 啟動、停止和重新啟動vsftpd服務(wù)
FTP服務(wù)的啟動、停止和重新啟動的命令為:service vsftpd strat/stop/restart。
2.3.3 VSFTPD服務(wù)器的配置
配置VSFTPD服務(wù)器是使用FTP服務(wù)功能的重要步驟,配置服務(wù)器主要包括用戶登錄控制、用戶權(quán)限控制、用戶連接和超時(shí)選項(xiàng)以及服務(wù)器日志和歡迎信息4項(xiàng)內(nèi)容。
3 其他跨平臺訪問Linux系統(tǒng)的工具
除上述Linux系統(tǒng)中常用的實(shí)現(xiàn)資源網(wǎng)絡(luò)共享的幾種方法外,在一些特殊的情況下,往往利用一些工具軟件來實(shí)現(xiàn)跨平臺訪問Linux系統(tǒng)。例如Vmware Tools可直接實(shí)現(xiàn)虛擬機(jī)與主機(jī)系統(tǒng)之間的資源共享,不需要其他服務(wù)程序[5]。
SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,是一種Windows下登錄UNIX或Linux服務(wù)器主機(jī)的軟件。
WinSCP是一個(gè)Windows環(huán)境下使用SSH的開源圖形化SFTP客戶端,同時(shí)支持SCP協(xié)議。它的主要功能就是在本地與遠(yuǎn)程計(jì)算機(jī)間安全的復(fù)制文件。使用WinSCP可以連接到Linux系統(tǒng)并執(zhí)行所有基本的文件操作,例如下載和上傳。同時(shí)允許為文件和目錄重命名、改變屬性、建立符號鏈接和快捷方式。
Putty是一個(gè)免費(fèi)的、Windows 32平臺下的telnet、rlogin和ssh客戶端,但是功能絲毫不遜色于商業(yè)的telnet類工具。Putty具有體積很小、操作簡單等特點(diǎn),且所有的操作都在一個(gè)控制面板中實(shí)現(xiàn)。在Putty的控制面板中配置好IP地址、協(xié)議端口和登錄協(xié)議等參數(shù)后,可以實(shí)現(xiàn)對Linux主機(jī)的遠(yuǎn)程登錄。
本文介紹了Linux系統(tǒng)中幾種實(shí)現(xiàn)資源網(wǎng)絡(luò)共享的方法。對于只有Linux系統(tǒng)的網(wǎng)絡(luò),推薦使用NFS。與Samba相比,NFS的數(shù)據(jù)傳輸能力更強(qiáng)而且快,但是安全漏洞比較多。對于Windows與Linux共存的局域網(wǎng),推薦使用設(shè)置比較復(fù)雜但功能強(qiáng)大的Samba服務(wù)[6]。在廣域網(wǎng)中,推薦使用實(shí)現(xiàn)文件傳輸功能的FTP服務(wù)器。FTP功能強(qiáng)大且比較安全,但是其缺點(diǎn)是無法直接修改主機(jī)上的文件數(shù)據(jù),文件首先要下載到客戶端,然后才能修改上傳回服務(wù)器。
此外,在一些特殊的情況下,用戶可根據(jù)自己的需要使用VMware Tools、SecureCRT、WinSCP、Putty等工具來實(shí)現(xiàn)Linux系統(tǒng)網(wǎng)絡(luò)資源的共享。本文簡單介紹了Linux系統(tǒng)實(shí)現(xiàn)資源網(wǎng)絡(luò)共享的幾種方法,用戶可根據(jù)需要選擇合適的方案,從而實(shí)現(xiàn)安全、可靠、穩(wěn)定和完善的資源共享服務(wù)。
參考文獻(xiàn)
[1] 華清遠(yuǎn)見嵌入式培訓(xùn)中心.嵌入式Linux應(yīng)用程序開發(fā)[M].北京:人民郵電出版社,2009.
[2] Song Wei, Zhuang Weihua. Multi-service load sharing for resource management in the cellular/WLAN integrated network[J]. IEEE Transactions on Wireless Communications,2009,8(2):725-735.
[3] 余立強(qiáng).Linux系統(tǒng)的文件共享服務(wù)解決方案[J].電腦學(xué)習(xí),2004(10):37-39.
[4] 吳閩泉,張志毅,劉俊平.Linux和Windows系統(tǒng)互操作方法[J].計(jì)算機(jī)工程與應(yīng)用,2003(24):126-128.
[5] 胡蘭蘭.Linux實(shí)現(xiàn)文件共享方法分析[J].三門峽職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010,9(2):107-110.
[6] 胡建華.實(shí)現(xiàn)Linux和Windows之間資源共享——Samba技術(shù)的應(yīng)用[J].企業(yè)科技與發(fā)展,2009(6):13-15.