複製鏈接
請複製以下鏈接發送給好友

共享文件系統

鎖定
一些情況下用户希望兩台機器之間的文件系統能夠更加緊密地結合在一起,讓一台主機上的用户可以像使用本機的文件系統一樣使用遠程機的文件系統,這種功能可以通過共享文件系統來實現。隨着計算機網絡技術的發展,網絡技術的應用也越來越多,基於網絡的共享文件系統也得到了大量使用。
中文名
共享文件系統
外文名
shared file system
概    念
能夠共享文件的系統
特    點
方便安全
分    類
NFSSamba
應用領域
計算機

共享文件系統系統簡介

在網絡環境下,通過FTP實現了在不同操作系統的主機之間相互傳輸文件,從使用角度看,共享文件系統幾乎不用你考慮網絡傳輸和訪問的細節,完全可以像訪問本地文件一樣訪問網絡上其它服務器文件系統上的文件。這可以在一定程度上解決開始提的問題,即為集羣中的多台實際服務器共享同一台物理存儲設備。
剛才提到的同一台物理存儲設備可以是獨立的一台服務器如圖片服務器,也可以是集羣中某台實際服務器的磁盤。
共享文件系統並不是通常我們説的磁盤文件系統,它不能用於存儲和管理磁盤數據,而只是定義了文件在網絡上傳輸時的組織格式和傳輸協議。所以,一個文件從網絡的一端到另一端需要進行兩次轉換,分別發生在進入網絡和離開網絡的時候。
對於共享文件系統的實現通常有NFS和Samba,其中NFS主要用於Linux/Unix平台下,而Samba用於將linux/Unix平台下的文件映射到Window系統網絡鄰居上,用於實現Linux/Unix到Window平台的共享,當然,它也可以實現Linux/Unix平台之間的文件共享。
NFS和Samba實現完全不同,其性能存在較大的差異。 [1] 

共享文件系統NFS服務介紹

NFS(Network File System,網絡文件系統)是歷史最為悠久的文件共享協議之一,其目的是讓網絡環境下的不同主機之間彼此可以共享文件。
1.NFS概述
NFS最初是由Sun Microsystems公司於1984年開發出來的,它的功能是讓整個網絡共享某些主機的目錄和文件。由於NFS使用起來非常方便,因此很快得到了大多數UNIX類系統的支持。
2.遠程過程調用RPC
RPC(Remote Procedure Call,遠程過程調用)是另一種不同的網絡程序設計方法,它定義了一種進程間通過網絡進行交互通信的機制,使程序員編寫客户程序時感覺只是調用了服務器程序提供的函數,而雙方的通訊過程對程序員來説完全是透明的。也就是説,一台機子上的程序使用這種機制可以向網絡中另一台機子上的程序請求服務,並且不必瞭解支持通信的網絡協議的具體情況。
NFS協議是一個建立在Sun RPC基礎上的客户端/服務器應用程序,客户端通過向一台NFS服務器發送RPC請求來訪問其中的文件。
NFC協議 NFC協議
4.NFS服務器
NFS服務器採用多進程模型,而且進程數是固定的,默認情況下為4,當然,可以進行修改。不論怎麼對NFS進行性能優化,NFS註定不適合IO密集型文件的共享方案。但作為一般用途比如提供站內資源的共享,它是比較容易搭建的,可以減少不必要的數據冗餘。
5.NFS遠程操作
NFS遠程寫操作有同步和異步兩種模式,對於異步模式,NFS可以在接收到寫操作請求後立即返回成功,然後在後台執行真正的寫操作。對於同步模式,NFS在寫操作完成後才返回,當然,這裏不一定是寫到磁盤。對於異步模式,由於存在實際寫入磁盤的延遲,所以非常有可能發生實際寫入失敗而應用程序並不知曉的情況,在沒有保障的情況下,使用異步模式要格外謹慎。 [1] 

共享文件系統Samba服務介紹

歷史上,安裝UNIX類操作系統的主機相互之間共享文件系統時使用的是NFS協議,而Windows類的操作系統使用SMB協議來共享文件系統。後來,以開源項目Samba為代表的許多服務器軟件在UNIX類操作系統下實現了SMB協議,使得UNIX和Windows操作系統之間的文件共享也可以暢通無阻。
1.SMB協議概述
SMB(Server Message Block,服務器消息塊)是基於NetBIOS的一套文件共享協議,它由Microsoft公司制訂,用於Lan Manager和Windows NT服務器系統中,實現不同計算機之間共享打印機、串行口和通訊抽象。
NetBIOS(Network Base Input/Output System,網絡基本輸入/輸出系統)最初是由IBM公司開發的一種網絡應用程序編程接口(API),為程序提供了請求網絡服務的統一命令集。NetBIOS是一種會話層協議,應用於各種局域網(Ethernet、Token Ring等)和諸如TCP/IP、PPP和X.25等廣域網環境。
3.Samba概述
Samba是一種開放源代碼的自由軟件,可以為SMB/CIFS客户提供所有方式的文件和打印服務,包括各種版本的Windows客户。
Samba服務提供Windows風格的文件和打印機共享。
Samba服務可以在Windows網絡中解析NetBIOS的名字。
Samba服務提供了SMB的客户功能。
Samba服務可以與OpenSSL相結合,實現安全通信,也可以與OpenLDAP相結合實現基於目錄服務的身份認證。同時還能承擔Windows域中的PDC和成員服務器角色。
4.Samba的兩個進程
Samba主機使用兩個進程來管理兩個不同的服務:
smbd:用來處理文件和打印服務請求。
nmbd:用來處理NetBIOS名稱服務請求和網絡瀏覽功能。
當我們啓動了Samba之後,主機系統就會啓動137,138,139這三個port,並且同時會有TCP/UDP的監聽服務。
5.Samba的主要應用
Samba的主要目的就是用來溝通Windows與Unix這兩種不同的作業平台。
主要應用:共享檔案與打印機服務;提供身份認證;提供Windows網絡上的主機名稱解析(NetBIOS name) [1] 

共享文件系統安全共享文件系統

共享文件系統網絡共享文件的安全問題

網絡技術的飛速發展推動了社會的發展,許多政府部門和企業單位都藉助網絡極大地提高了工作效率。文件數據以電子化形式存儲在電腦裏,並且在網絡中共享,一方面方便了對信息的獲取、共享和傳播,但是另一方面也存在着極大的安全隱患。其中,這些安全隱患主要包括網絡接入容易,通常只要選用通用的信息設備即可連入網絡大多數信息使用明文傳輸,信息數據在網絡傳輸過程中很容易被攔截、篡改用户往往有權訪問共享文件,從而有機會修改、竊取共享文件計算機外部設備使用不當容易造成數據泄露。這些都使得共享文件的安全問題變得越來越重要和突出,也使得在網絡中進行共享文件安全管理成為迫切的需求。
網絡中共享文件管理的一個重要方面就是保證共享文件的安全。網絡中數據管理本身通常不是很嚴謹,共享文件一般只是採用簡單的授權口令保護,對於防誤操作、防盜竊和防破壞的保護也只採取了簡單的措施。這樣就使得在網絡中非法取得授權和獲得共享文件變得非常容易。所以,保證共享文件的安全就是需要確保存儲在網絡中的共享信息、數據不受意外或者惡意的原因遭受破壞、更改、泄露,也就是需要保證共享文件的保密性、完整性、可用性和真實性。但由於使用共享文件的最終目的是在網絡中實現信息共享,故在保證安全的同時還要保證共享文件的可用性。 [2] 

共享文件系統國內外現狀

目前,國內外保護文件信息的安全主要採用以下措施:
採用防火牆及安全掃描工具,建立網絡安全屏蔽。防火牆是一個部屬在網絡基礎設施中的硬件或軟件的解決方案,可以通過限制對某些特定的網絡資源的訪問,實施一個企業的安全策略。防火牆可以在網絡和外部之間創建一個保護層。它具有內置的過濾器,所有由外網進入內網之前都必須經過它的過濾和檢驗。它是網絡安全的第一道屏障。設置訪問權限,進行訪問控制。對不同的用户設置不同的訪問權限,在訪問之前對其身份進行合法性檢查,對信息進行加密。採用加密算法對信息進行加密存儲或傳輸,使非法用户即使得到數據也難以破解,可以保證電子文件內容的非公開性。對信息進行簽名。採用摘要算法計算信息的摘要,並使用私鑰加密摘要,保證信息的完整性。
但是,這些保護文件信息的安全措施都是基於用户層的文件控制技術和加密技術。應用層軟件運行於用户空間中,各種用户進程和內核進程都可以訪問它的中間處理數據,比如加、解密過程產生的臨時文件或者系統緩存中存在的明文文件,因此,很容易被其他進程攔截,安全性得不到操作系統內核的保護,並且大部分軟件不能很好地實現系統的自我保護從而可能被竊密分子通過某種手段惡意地破壞系統。所以這些安全措施並不能很好地保證文件信息的安全。目前對於共享文件安全技術有着很高的需求,但是由於應用環境的複雜性及攻擊手段的多樣性使這一領域的產品很難達到很高的安全要求。沒有一套安全性很高的保護措施,任何人都可能對共享文件有意或無意造成安全隱患,從而導致難以挽回的後果。所以確保網絡共享文件的安全具有重要的現實意義。 [2] 

共享文件系統C/S系統

隨着網絡應用技術的發展,基於C/S的系統客户系統設計己經被廣泛應用於各種軟件系統的設計和開發中。它是軟件系統體系結構,其基本思想是充分利用兩端硬件環境的優勢,把任務合理分配到客户機和服務器上以降低系統的通信開銷,主要用於跨多機的應用程序。這種編程方式改變了傳統的單機應用設計和系統實現方式。C/S系統一般分為兩層結構前端是客户機,即用户界面,結合了表示與業務邏輯,接受用户的請求,並向服務器提出請求後端是服務器,接受客户機請求後,經過一些處理,將結果提交到客户機,客户機將數據呈現給用户。一般用“N層結構”來描述應用在客户機和服務器的邏輯劃分方式。
C/S模式是一種先進的計算模式,在技術上很成熟,它的主要特點是交互性強、具有安全的存取模式、網絡通信量低、響應速度快、利於處理大量數據,有很強的實時處理能力。並且,由於C/S是配對的點對點結構模式,採用安全性較好的網絡協議,安全性可以得到較好的保證。C/S結構通常面向相對固定的用户羣,對信息安全的控制能力很強。
C/S系統基於Windows操作系統,設計了一套比較完善的安全文件共享控制機制,通過控制用户對服務器共享文件的訪問、控制用户在客户端對共享文件的操作、保障共享文件在服務器和客户端存儲的安全及傳輸的安全等手段,達到保障共享文件安全的目的。本系統在服務器上對用户進行嚴格的權限控制,並且把文件數據加密保存在文件服務器中。當客户端請求訪問共享文件時,服務器首先進行合法性驗證,然後使用改進的協議加密傳輸文件數據到客户端。客户端把該文件加密保存在虛擬磁盤中,使用文件過濾驅動技術對虛擬磁盤進行訪問控制,只允許設置了訪問權限的進程才能對虛擬磁盤中的數據進行讀寫操作。當用户請求打開文件時,客户端根據用户在服務器數據庫中的文件訪問權限使用自動化技術禁用該文件對應編輯器中某些菜單欄和工具欄按鈕,然後調用編輯器打開文件,同時使用全局鈎子控制編輯器的操作,防止用户對文件的非法操作。這樣就大大增加了系統的安全性。
客户端的文件加解密過程是在內核模式下實現的,讀數據時解密,寫數據時加密。這種在操作系統內核模式下的加、解密具有較高的效率和安全性,且對上層文件系統驅動程序和應用程序的正常使用沒有任何影響。文件在虛擬磁盤中始終是以密文形式存在,並且只有合法進程才能對虛擬磁盤中的文件進行操作,從而有效地保證了共享文件數據在客户端存儲的安全性。 [2] 
參考資料
  • 1.    劉憶智著 .Linux從入門到精通: 清華大學出版社 ,2014
  • 2.    王斌.安全共享文件系統的研究與實現[R].上海:華東師範大學,2007.