29 檔案共享與保護

weixin_34249678發表於2017-06-24

1 檔案共享

1.1 概述

檔案共享使多個使用者(程式)共享同一份檔案,系統中只需保留該檔案的一份副本。否則,每個使用共享檔案的使用者都有各自的副本,會造成對儲存空間的極大浪費。

隨著計算機技術的發展,檔案共享的範圍已由單機系統發展到多機系統,進而通過網路擴充套件到全球。這些檔案的分享是通過分散式檔案系統、遠端檔案系統、分散式資訊系統實現的。

1.2 基於索引結點的共享方式(硬連結)

在樹形結構的目錄中,當有兩個或多個使用者要共享一個子目錄或檔案時,必須將共享檔案或子目錄連結到兩個或多個使用者的目錄中,才能方便地找到該檔案。

5853159-6371208ef232b0eb.png

這種共享方式中引用索引結點,即檔案的實體地址等檔案屬性資訊,不再是放在目錄項中,而是放在索引結點中。在檔案目錄中只設定檔名及指向相應索引結點的指標。

在索引結點中還應有一個連結計數count。當count=2時,表示有兩個使用者目錄項鍊接到本檔案上,共享此檔案。新增和刪除使用者時count隨之變化,count為0時,將刪除此檔案。

5853159-dd310d83249a32b0.png
1.3 利用符號鏈實現檔案共享(軟連結)

為使使用者B能共享使用者A的一個檔案F,可建立一LINK型別名為Flink的新檔案,並將檔案Flink寫入使用者B的目錄中,以實現使用者B的目錄與檔案F的連結。在Flink檔案中只包含被連結檔案F的路徑名。此連結方法被稱為符號連結。

在利用符號鏈方式實現檔案共享時,只有檔案的擁有者才擁有指向其索引結點的指標。而共享該檔案的使用者則只有該檔案的路徑名,並不擁有指向其索引結點的指標。

缺點
  • 當一個符號連結共享的檔案擁有者刪除檔案後,在其他使用者訪問該連結前,又有使用者在相同位置建立名稱相同的檔案時,該符號連結將仍然有效,但此訪問顯然是錯誤。

  • 由於需要根據檔案路徑逐個查詢目錄,可能導致多次讀盤,增大了啟動磁碟的頻率,符號鏈索引結點也耗費一定的磁碟空間。

優點
  • 網路共享只需提供該檔案所在機器的網路地址以及該機器中的檔案路徑即可。

注意:上述兩種連結方式都存在一個共同的問題:每個共享檔案都有幾個檔名。每增加一條連結,就增加一個檔名。這實質上就是每個使用者都使用自己的路徑名去訪問共享檔案。當我們試圖去遍歷整個檔案系統時,將會多次遍歷到該共享檔案。

硬連結和軟連結都是檔案系統中的靜態共享方法,在檔案系統中還存在著另外的共享需求,即兩個程式同時對同一個檔案進行操作,這樣的共享可以稱為動態共享

2 檔案安全與保護

影響檔案安全性主要因素有三:

  • 人為因素
    人類有意或無意的破壞。
  • 系統因素
    由於系統某些部分出現異常,導致資料的破壞或丟失。
  • 自然因素
    存放在磁碟上的資料,會隨著時間推移發生溢位或逐漸消失。

為確保檔案系統的安全性,可針對上述原因採用以下措施:

  • 通過存取控制來防止人為因素所造成的檔案不安全性
  • 通過磁碟容錯技術來防止磁碟部分故障造成檔案不安全性
  • 通過“後備系統”來防止自然因素所造成的不安全性

3 訪問型別與訪問控制

為了防止檔案共享可能會導致檔案被破壞或未經核准的使用者修改檔案,檔案系統必須控制使用者對檔案的存取。為此,須在檔案系統中建立相應的檔案保護機制。

檔案保護通過口令保護、加密保護和訪問控制等方式實現。其中,口令保護和加密保護是為了防止使用者檔案被他人存取或竊取,而訪問控制則用於控制使用者對檔案的訪問方式。

3.1 訪問型別

可加以控制的訪問型別主要有以下幾種:

  • 讀:從檔案中讀。
  • 寫:向檔案中寫。
  • 執行:將檔案裝入記憶體並執行。
  • 新增:將新資訊新增到檔案結尾部分。
  • 刪除:刪除檔案,釋放空間。
  • 列表清單:列出檔名和檔案屬性。

此外還可以對檔案的重新命名、複製、編輯等加以控制。這些高層的功能可以通過系統程式呼叫低層系統呼叫來實現。

3.2 訪問控制
1) 訪問控制列表

最常用的方法是根據使用者身份進行控制。通常為每個檔案和目錄增加一個訪問控制列表(Access-Control List, ACL),以規定每個使用者名稱及其所允許的訪問型別。

這種方法的優點是可以使用複雜的訪問方法。其缺點是長度無法預期並且可能導致複雜的空間管理,使用精簡的訪問列表可以解決這個問題。

精簡的訪問列表釆用擁有者、組和其他三種使用者型別。

  • 擁有者:建立檔案的使用者。
  • 組:一組需要共享檔案且具有類似訪問的使用者。
  • 其他:系統內的所有其他使用者。

檔案擁有者在建立檔案時,說明建立者使用者名稱及所在的組名,系統在建立檔案時也將檔案主的名字、所屬組名列在該檔案的FCB中。

使用者訪問該檔案時,按照擁有者所擁有的許可權訪問檔案,如果使用者和擁有者在同一個使用者組則按照同組許可權訪問,否則只能按其他使用者許可權訪問。UNIX作業系統即釆用此種方法。

2) 口令和密碼

口令和密碼是另外兩種訪問控制方法。

口令指使用者在建立一個檔案時提供一個口令,系統為其建立FCB時附上相應口令,同時告訴允許共享該檔案的其他使用者。使用者請求訪問時必須提供相應口令。這種方法時間和空間的開銷不多,缺點是口令直接存在系統內部,不夠安全

密碼指使用者對檔案進行加密,檔案被訪問時需要使用金鑰。這種方法保密性強,節省了儲存空間,不過編碼和譯碼要花費一定時間

口令和密碼都是防止使用者檔案被他人存取或竊取,並沒有控制使用者對檔案的訪問型別。

3) 注意:

現代作業系統常用的檔案保護方法,是將訪問控制列表與使用者、組和其他成員訪問控制方案一起組合使用。

對於多級目錄結構而言,不僅需要保護單個檔案,而且還需要保護子目錄內的檔案, 即需要提供目錄保護機制。目錄操作與檔案操作並不相同,因此需要不同的保護機制。

4 磁碟容錯技術

容錯技術往往也被稱為系統容錯技術SFT。可分為三個級別:第一級別是低階磁碟容錯技術,第二級是中級磁碟容錯技術,第三級是系統容錯技術。

4.1 第一級磁碟容錯技術SFT-1

是最基本的磁碟容錯技術,主要用於防止因磁碟表面缺陷所造成的資料丟失。它包含雙份目錄,雙份檔案分配表以及寫後讀校驗措施。

4.2 第二級磁碟容錯技術SFT-2

第二級磁碟容錯技術主要用於防止磁碟驅動器和磁碟控制器故障所導致的系統不能正常工作,具體分為磁碟映象和磁碟雙工。

4.3 基於叢集技術的容錯功能

所謂叢集式指一組互連的自主計算機組成統一的計算機系統,就像一臺機器一樣工作。利用叢集系統不僅可提高系統的並行處理能力,還可以提高系統的可用性

其主要工作模式有三種:熱備份模式、互為備份模式、公有磁碟模式。

相關文章