文件系統 | 文件的共享和保護
文件共享
是指某一個或某一部分文件可以讓事先規定的某些用戶共同使用。
文件索引節點法
假設B用戶想使用「/B/B1/B12」文件名訪問共享文件C21。
但是這種的鏈接方式會造成當一個目錄刪除文件C21的時候,導致另一個目錄也不能檢索到給文件,因為C21在之前的目錄索引刪除過程中已經被刪除了,15號索引節點已經為空。如下圖:
所以,為了解決這個問題,我們引入了一個鏈接計數器 count 。表示有 count 個用戶正在訪問該共享文件。當一個用戶想要刪除該文件時不能直接將C21文件刪除。
在Linux中共享索引節點法又稱為硬鏈接。
ln 共享文件名 新文件名ln /C/C2/C21 /B/B1/B12
符號鏈接法:
為共享文件創建一個link類型的新文件:如/B/B1/B12
(1)分配並填寫一個空閑i節點;
(2)建立目錄項;
(3)分配磁碟空間;
(4)寫入文件內容:共享文件的路徑名:/C/C2/C21
Linux:
ln –s 共享文件名 新文件名ln –s /C/C2/C21 /B/B1/B12
硬鏈接與符號鏈接的區別:
$ ls –il // i 表示顯示索引節點, l 表示顯示長格式顯示13058 -rwxrwx - - - 1 zwh zwh 48 9月 5 16:38 file113059 -rwx rwx- - - 1 zwh zwh 57 9月 5 16:40 file2
文件屬性:
文件類型:
(1)- :普通文件;
(2)d :目錄文件;
(3)l :符號鏈接文件;
(4)c :字元設備文件;
(5)b :塊設備文件;
(6)s :socket文件;
(7)p :管道文件;
$ ls –il 13058 -rwxrwx - - - 1 zwh zwh 48 9月 5 16:38 file1 13059 -rwx rwx- - - 1 zwh zwh 57 9月 5 16:40 file2 $ ln file2 file2hard // 文件索引節點法 $ ls –il 13058 -rwxrwx - - - 1 zwh zwh 48 9月 5 16:38 file1 13059 -rwxrwx - - - 2 zwh zwh 57 9月 5 16:40 file2 13059 -rwxrwx - - - 2 zwh zwh 57 9月 5 16:40 file2hard
應為是使用的硬節點方式,所以他們指向的共同的一個索引節點,於是他們的索引節點編號是一樣的。
$ ln –s file1 file1soft // 符號鏈接法$ ls –il13058 -rwxrwx - - - 1 zwh zwh 48 9月 5 16:38 file113059 -rwxrwx - - - 2 zwh zwh 57 9月 5 16:40 file213059 -rwxrwx - - - 2 zwh zwh 57 9月 5 16:40 file2hard13061 lrwxrwxrwx 1 zwh zwh 5 9月 5 16:58 file1soft->file1// 符號鏈接文件, 鏈接計數仍為1 ,文件也明顯比原來的文件小。
用符號鏈接法創建的只是一個能夠找到目標文件的一個路徑,所以明顯比目標文件大小要小。
$ rm file2hard // 刪除剛才創建的硬鏈接文件$ ls –il13058 -rwxrwx - - - 1 zwh zwh 48 9月 5 16:38 file113059 -rwxrwx - - - 1 zwh zwh 57 9月 5 16:40 file2 // 鏈接數又變為113061 lrwxrwxrwx 1 zwh zwh 5 9月 5 16:58 file1soft->file1
硬鏈接和符號鏈接總結:
(1)索引節點:
- 硬鏈接與原文件公用一個inode號,這說明他們是同一個文件;
- 符號鏈接與原文件擁有不同的inode號,表明他們是兩個不同的文件;
(2)在文件屬性上:
- 符號鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因為在本質上硬鏈接文件和原文件是完全平等關係
(3)鏈接計數不一樣:
- 符號鏈接的鏈接計數不會增加;
(4)文件大小不一樣:
- 硬鏈接文件顯示的大小跟原文件一樣,因為是同一個文件;
- 符號鏈接顯示的大小與原文件不同,file1大小是48B,而file1soft是5B,這裡面的5實際上就是「file1」的大小。
(5)硬鏈接不能跨越文件卷建立鏈接,不能給目錄創建硬鏈接;而符號鏈接可以。
(6)符號鏈接要建立新的符號鏈接文件,共享開銷大。
文件保護
造成文件被破壞的原因:
- 系統軟硬體錯誤:系統可靠性;
- 被未授權用戶訪問:系統安全性。
提高系統可靠性
(1)備份技術:
① 周期性轉儲
按固定的時間周期把存儲器中所有文件的內容轉存到某種介質上,通常是磁帶或磁碟。在系統失效時,使用這些轉存磁碟或磁帶,將所有文件重新建立並恢復到最後一次轉存時的狀態。
② 增量性轉儲
這種技術轉儲的只是從上次轉儲以後已經改變過的信息;增量轉儲的信息量較小,故轉儲可在更短的時間周期內進行。
(2)磁碟容錯技術
① 第一級容錯技術SFT-Ⅰ :主要用於防止因磁碟部分缺陷所造成的數據丟失。
- 雙份目錄和雙份文件分配表
- 熱修復重定向和寫後讀校驗:
- 熱修復重定向(Hot-Redirection)
- 寫後讀校驗(Read after write Verification)方式
② 第二級容錯技術SFT-Ⅱ :主要用於防止因磁碟驅動器和磁碟控制器故障所造成的文件破壞。
- 磁碟鏡像(Disk Mirroring):
- 磁碟雙工(Disk Duplexing): 為了防止磁碟控制器的故障
提高系統安全性
是指文件本身不得被未經文件主授權的任何用戶存取,而對於授權用戶也只能在允許的存取許可權內使用文件。
手段:許可權驗證
- 訪問控制矩陣
- 存取控制表
- 用戶許可權表
- 口令
- 加密
(1)訪問矩陣: 描述系統存取控制許可權的矩陣
行:代表用戶(組);
列:代表對象:軟硬體資源;
值:許可權
(2)訪問控制表:為文件設置存取控制屬性
對訪問矩陣按列(對象)進行劃分,每一列建立一張訪問控制表。
比如對於剛才建立的F1這一列,可以建立訪問控制表如下:
對於F2列可以建立:
(3)訪問許可權表 :為用戶設置許可權
對訪問矩陣按行進行劃分,每一行建立一張訪問許可權表。
對於D1用戶,可以列出其可操作性的對象,建立其訪問許可權表如下:
對於D2用戶:
推薦閱讀:
※谷歌自研Fuchsia OS將兼容安卓:亦可在x86體系運行
※360雲盤關閉你的照片和文件怎麼辦?
※CPU調度
※蘋果電腦操作系統是什麼?
※系統突發性地磁碟佔有100%,資源管理器無限重啟
TAG:操作系統 |