Linux網絡存儲器的設計
在Samba的軟件包中存在一個smb.cONf配置文件,其結構類似于Windows的*.ini文件。RedHat和Debian中,smb.conf文件的缺省位置是在/etc/下,所有的Samba程序都要參照這個配置文件。整個配置文件分為三節(jié):[global]、[home]、[printers]。[global]節(jié)設置全局選項和一些缺省的服務選項;[home]節(jié)用來動態(tài)地映射到每個用戶的home目錄下;[printers]節(jié)用來設置將按照系統printcap文件配置的打印機共享至指定用戶。其中每一節(jié)中的配置參數都是一個全局參數或是一個服務參數,全局參數影響或控制整個服務器,服務參數影響或控制服務器提供的某項服務。Samba的配置文件見網絡補充版。 管理員可通過Samba的一些命令來管理用戶及用戶的訪問權限,如添加用戶、刪除用戶、改變目錄的訪問權限,也中直接修改smb.conf進行管理。
2.3 不同結構網絡之間文件共享的實現
(1)NFS協議簡介
NFS網絡文件系統是由Sun MicrosySTems公司最早實現的,用于在不同的操作系統、不同的網絡結構及不同的傳輸協議之間共享文件。NFS協議組包括NFS、RPC、XDR。NFS本身沒提供其它程序可調用的過程,它通過遠程過程調用和通用外部數據表示來實現。遠程過程調用為遠程服務提供一個接口,包括主機地址、程序號及一個遠端進程的進程號,而外部數據表示提供了一套通過網絡描述數據類型的方法。在不同的操作系統中,文件系統的管理方式不同,對于目錄樹的深度、名字的使用以及路徑的表示方法也都有不同的規(guī)定。有些操作系統的文件系統處于特定的目錄下面,而有些操作系統用mount操作使所有的文件系統看起來在一個單獨的目錄下。盡管目錄和文件在很多方面都比較類似,但是訪問它們卻須調用不同的程序,因此,NFS假定文件系統是分等級的,并且文件處于最低等級,NFS為目錄提供一個標準的網絡格式以便訪問。在遠程調用中,每次調用只返回一個目錄,這樣解決了不同文件系統之間結構不同的問題。
(2)NFS服務的配置
NFS服務器使用了5個守護進程來提供NFS服務。最基本的提供NFS服務的系統至少要運行nfsd用于處理NFS協議,而mountd用于處理客戶的mount請求。此外,由于NFS使用RPC遠程調用,其它三個RPC守護進程portmap、rpc_lockd、rpc_statd可以用來幫助提供更高效的服務。為了使其它系統也能使用Linux系統上的硬盤空間,在系統啟動時,應載入NFS的守護進程。這需要在rc.conf中更改相應關的參數:nfs_server_enable、rpc_statd_enable、rpc_lockd.enable和portmap_enable,這些參數對應相應的守護進程。這樣,系統啟動之后就具備了能共享文件的能力 ,接下來的工作是通過更改/etc/exports文件來設置需要共享的目錄以及這些目錄的訪問權了,以保證其安全性。Exports文件的設置如下:
/usr/src/sys-maproot=guest1 ns host2
/usr/ports-ro-network 202.114.1.0
在這里我們使用絕對路徑的方式定義了兩個共享目錄usr/src/sys和/usr/ports,并且對這兩個目錄的訪問權限分別作了不同的限制,以保證其安全性。對于第一個目錄,限制了客戶機上的root用戶等價于本機上的guest1用戶,以避免客戶機上的root用戶擁有這個服務器上的root權力,進行非法操作,此后的ns和host2參數是主機名,只有ns和host2才能共享這個/usr/sys/src目錄。第二行設置共享了/usr/ports目錄,限制為只允許讀取,并且也只有202.114.1.0網絡上的計算機才能訪問這個共享目錄。在更改了exports文件之后,向mountd進程發(fā)送一個SIGHUP信號,使其重讀exports文件的內容,這樣關于exports文件的設置才開始生效。
3、結 語
本文提出了一個網絡存儲器的基本解決方案,實現了網絡存儲器的基本功能。整個系統易于安裝,具有可靠性較高,跨平臺、跨網絡的優(yōu)點;同時也存在著一些不足的地方,比如對用戶、磁盤的管理不太方便,這些可通過數據庫技術加以改進。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論