1. 程式人生 > >作業系統知識點總結(十四)檔案保護:檔案訪問型別和訪問控制

作業系統知識點總結(十四)檔案保護:檔案訪問型別和訪問控制

為了防止檔案共享可能會導致檔案被破壞或未經核準的使用者修改檔案,檔案系統必須控制使用者對檔案的存取,即解決對檔案的讀、寫、執行的許可問題。為此,必須在檔案系統中建立相應的檔案保護機制。

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

訪問型別

對檔案的保護可以從限制對檔案的訪問型別中出發。可加以控制的訪問型別主要有以下幾種:

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


此外還可以對檔案的重新命名、複製、編輯等加以控制。這些高層的功能可以通過系統程式呼叫低層系統呼叫來實現。保護可以只在低層提供。例如,複製檔案可利用一系列的讀請求來完成。這樣,具有讀訪問使用者同時也具有複製和列印的許可權了。

訪問控制

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

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

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

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


這樣只需用三個域列出訪問表中這三類使用者的訪問許可權即可。檔案擁有者在建立檔案時,說明建立者使用者名稱及所在的組名,系統在建立檔案時也將檔案主的名字、所屬組名列在該檔案的FCB中。使用者訪問該檔案時,按照擁有者所擁有的許可權訪問檔案,如果使用者和擁有者在同一個使用者組則按照同組許可權訪問,否則只能按其他使用者許可權訪問。UNIX作業系統即釆用此種方法。

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

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

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

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

注意兩個問題:

  • 現代作業系統常用的檔案保護方法,是將訪問控制列表與使用者、組和其他成員訪問控制方案一起組合使用。
  • 對於多級目錄結構而言,不僅需要保護單個檔案,而且還需要保護子目錄內的檔案, 即需要提供目錄保護機制。目錄操作與檔案操作並不相同,因此需要不同的保護機制。