歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux文件系統總結

Linux文件系統總結

日期:2017/2/28 14:30:57   编辑:Linux教程

基本組織結構

Linux文件系統使用索引節點(inode)來記錄文件信息。
索引節點是一個結構體,它包含了一個文件的長度、創建及修改時間、權限、所屬關系、磁盤中的位置等信息。

一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一的元素對應。每個索引節點在數組中的索引號,稱為索引節點號。

Linux文件系統將文件索引節點號和文件名同時保存在目錄中,所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。
對於一個文件來說,有一個索引節點號與之對應;而對於一個索引節點號,卻可以對應多個文件名。

連接分為軟連接和硬連接,其中軟連接又叫符號連接。
硬連接: 原文件名和連接文件名都指向相同的物理地址。目錄不能有硬連接;硬連接不能跨文件系統(不能跨越不同的分區),文件在磁盤中只有一個拷貝。由於刪除文件要在同一個索引節點屬於唯一的連接時才能成功,因此硬連接可以防止不必要的誤刪除。

軟連接: 用 ln -s 命令建立文件的符號連接。符號連接是Linux特殊文件的一種,作為一個文件,它的數據是它所連接的文件的路徑名。沒有防止誤刪除的功能。類似於windows下的快捷方式。

Tux3文件系統有望合並到Linux Kernel http://www.Linuxidc.com/Linux/2014-05/101894.htm

分布式文件系統 Ceph http://www.Linuxidc.com/Linux/2014-05/101393.htm

磁盤文件系統 http://www.Linuxidc.com/Linux/2014-04/100792.htm

Ubuntu 14.04中掛載其它NFS服務器的文件系統 http://www.Linuxidc.com/Linux/2014-04/100496.htm

文件類型
普通文件 : 通常是流式文件
目錄文件 : 用於表示和管理系統中的全部文件
連接文件 : 用於不同目錄下文件的共享
設備文件 : 包括塊設備文件和字符設備文件,塊設備文件表示磁盤文件、光盤等,字符設備文件按照字符操作終端、鍵盤等設備。
管道(FIFO)文件 : 提供進程建通信的一種方式
套接字(socket) 文件: 該文件類型與網絡通信有關

文件訪問權限

Linux將文件訪問者分為三類:所有者、用戶組或其他用戶。所有者就是創建文件的用戶,用戶是所有用戶所創建的文件的所有者,用戶可以允許所在的用戶組能訪問用戶的文件。通常,用戶都組合成用戶組,例如,某一類或某一項目中的所有用戶都能夠被系統管理員歸為一個用戶組,一個用戶能夠授予所在用戶組的其他成員的文件訪問權限。最後,用戶也將自己的文件向系統內的所有用戶開放,在這種情況下,系統內的所有用戶都能夠訪問用戶的目錄或文件。在這種意義上,系統內的其他所有用戶就是other用戶類。

每一個用戶都有它自身的讀、寫和執行權限。第一套權限控制訪問自己的文件權限,即所有者權限。第二套權限控制用戶組訪問其中一個用戶的文件的權限。第三套權限控制其他所有用戶訪問一個用戶的文件的權限,這三套權限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行權限就構成了一個有9種類型的權限組。

我們可以用-l參數的ls命令顯示文件的詳細信息,其中包括權限。
第一個字符一般用來區分文件和目錄:
d:表示是一個目錄,事實上在ext2fs中,目錄是一個特殊的文件。
-:表示這是一個普通的文件。
l: 表示這是一個符號鏈接文件,實際上它指向另一個文件。
b、c:分別表示區塊設備和其他的外圍設備,是特殊類型的文件。
s、p:這些文件關系到系統的數據結構和管道,通常很少見到。

第2~10個字符當中的每3個為一組,左邊三個字符表示所有者權限,中間3個字符表示與所有者同一組的用戶的權限,右邊3個字符是其他用戶的權限。這三個一組共9個字符,代表的意義如下:
r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有浏覽目 錄的權限。
w(Write,寫入):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。
x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

代表字符 權限 對文件的含義 對目錄的含義 r 可讀 允許查看文件內容 允許列出目錄中的內容 w 可寫 允許修改文件內容 允許在目錄中創建、刪除文件 x 可執行 允許執行文件 允許進入目錄

其實文件與目錄設置不止這些,還有所謂的特殊權限。由於特殊權限會擁有一些“特權”,因而用戶若無特殊需求,不應該啟用這些權限,避免安全方面出現嚴重漏洞,造成黑客入侵,甚至摧毀系統!!!

s或S(SUID,Set UID):可執行的文件搭配這個權限,便能得到特權,任意存取該文件的所有者能使用的全部系統資源。請注意具備SUID權限的文件,黑客經常利用這種權限,以SUID配上root帳號擁有者,無聲無息地在系統中開扇後門,供日後進出使用。

s或S(SGID,Set GID):設置在文件上面,其效果與SUID相同,只不過將文件所有者換成用戶組,該文件就可以任意存取整個用戶組所能使用的系統資源。

t或T(Sticky):/tmp和 /var/tmp目錄供所有用戶暫時存取文件,亦即每位用戶皆擁有完整的權限進入該目錄,去浏覽、刪除和移動文件。但是禁止用戶刪除目錄中不屬於自己的文件

因為SUID、SGID、Sticky占用x的位置來表示,所以在表示上會有大小寫之分。加入同時開啟執行權限和SUID、SGID、Sticky,則權限表示字符是小寫的:
-rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

如果關閉執行權限,則表示字符會變成大寫:
-rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf

Copyright © Linux教程網 All Rights Reserved