linux中的文件權限的簡介

文件權限在Linux的學習中是一個比較重要的部分。文件的權限分為”r”、”w”、”x”,三個權限。本次報告將圍繞這三個權限來闡述三個權限的具體功能。

在開始闡述之前,先進行一個實驗。以這個實驗來具體展示三個權限的具體作用。

先用root身份登錄系統,然後在/tmp目錄下建立一個testing目錄。更改該目錄的權限為744且目錄的擁有者為root。再在目錄下建立一個空文件testing。

linux中的文件權限的簡介

可以看出,現在的testing目錄和目錄下的testing文件都是屬於root且權限分別為744和600。這樣的權限規定,一般的用戶對於testing目錄只具有”r”權限,不具有其他權限。

然後切換到一般用戶,在一般用戶的狀態下,執行查詢文件及目錄命令。

linux中的文件權限的簡介

在一般用戶狀態下查詢testing目錄以及此目錄下的文件時,終端會提示此用戶沒有權限來查詢。但是在上一步的操作中,一般用戶是擁有”r”權限的,在一般用戶狀態下為什麼不能“讀取”這個目錄中的文件呢?

在進行下一步的操作,訪問testing目錄

linux中的文件權限的簡介

同樣的,訪問testing目錄也被告知無權限訪問。這樣可以看出,”r”權限並不能賦予一般用戶訪問的權限。但是”r”權限是“讀取”,為什麼不能“讀取”這個目錄呢?

在Linux中,三種權限的解釋分別如下:

r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權

w(Write,寫入):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。

x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

在Linux中”r”權限對於一個目錄來說,僅代表這這個用戶可以讀取器目錄結構列表,簡單點說就是可以瀏覽當前目錄。因為我們在實驗的過程中當前的目錄是/tmp所以我們可以查閱到/tmp目錄下有的文件。但是要進入下一個目錄即/tmp/testing中,用戶需要的不是”r”權限,而是”x”權限。

read為讀權限,而excute為執行權限。讀權限意味著該文件僅能被讀取,而不能執行,也就是說,僅能寫入內存,而不能建立進程。而exucute則不管該文件是否為可執行文件,都有創建進程的權限,當然它本身有沒有這個能力就不在考慮範圍之內了。

對於”x”權限來說,只要這個文件具有了”x”權限,就代表著這個文件可以被寫入內存並且建立相關的進程。但是”r”權限卻不同,對於只擁有”r”權限的文件或者目錄來說,用戶只能將其讀入內存並且顯示出來,並不能對這個文件或者目錄進行相關的操作。cd這個命令就是基於”x”命令,而不是”r”命令。實驗中,ls無法顯示testing目錄及其目錄下文件的權限就是因為沒有了”x”權限。

“w”權限很好解釋但是非常的強大。對於擁有了這個權限的用戶來說,它就代表著用戶可以進行更改目錄結構列表的權限、新建新的文件與目錄、刪除已存在的文件與目錄(無論該文件的其他權限如何)、重命名和轉移該文件和目錄。相比較於”r”權限的只能讀取並且展示來說,”w”就可以更改你所想更改的一切東西。


分享到:


相關文章: