Linux目錄與檔案的許可權意義

pythontab發表於2018-03-12

在Linux世界中,可以說萬物皆檔案。Linux檔案一般分為兩種,一般檔案和目錄檔案。檔案許可權對於資料安全至關重要,有必要清楚的知道一般檔案許可權和目錄檔案許可權的意義。

一定要記住:三種許可權在檔案和資料夾表示的意義是不太相同的,下面來看一下:

許可權對檔案的作用

  檔案是實際含有資料的地方,包括一般文字檔案、資料庫內容檔、二進位制可可執行檔案(binary program)等等。 因此,許可權對於檔案來說,它的意義是這樣的:

r (read):可讀取此一檔案的實際內容,如讀取文字檔案的文字內容等;

w (write):可以編輯、新增或者是修改該檔案的內容(但不含刪除該檔案);

x (eXecute):該檔案具有可以被系統執行的許可權。

  可讀(r)代表讀取檔案內容比較好理解,那麼可執行(x)呢?因為在Windows下面一個檔案是否具有執行的能力是藉由“ 副檔名 ”來判斷的, 例如:.exe, .bat, .com 等等,在Linux下面,我們的檔案是否能被執行,則是藉由是否具有“x”這個許可權來決定的!跟檔名是沒有絕對的關係的!至於最後一個w這個許可權呢?當你對一個檔案具有w許可權時,你可以具有寫入/編輯/新增/修改檔案的內容的許可權, 但並不具備有刪除該檔案本身的許可權!對於檔案的rwx來說, 主要都是針對“檔案的內容”而言,與檔案檔名的存在與否沒有關係!因為檔案記錄的是實際的資料!


許可權對目錄的作用

  檔案是存放實際資料的所在,那麼目錄主要是儲存啥玩意?目錄主要的內容在記錄檔名清單,檔名與目錄有強烈的關連! 所以如果是針對目錄時,那個 r, w, x 對目錄是什麼意義呢?


r (read contents in directory):

表示具有讀取目錄結構清單的許可權,所以當你具有讀取(r)一個目錄的許可權時,表示你可以查詢該目錄下的檔名資料。 所以你就可以利用 ls 這個指令將該目錄的內容列表顯示出來!


w (modify contents of directory):

它表示你具有移動該目錄結構清單的許可權,也就是下面這些許可權:

建立新的檔案與目錄;

刪除已經存在的檔案與目錄(不論該檔案的許可權為何!)

將已存在的檔案或目錄進行更名;

搬移該目錄內的檔案、目錄位置。 總之,目錄的w許可權就與該目錄下面的檔名異動有關就對了啦!

x (access directory):

  那麼,目錄的執行許可權有啥用途啊?目錄只是記錄檔名而已,總不能拿來執行吧?沒錯!目錄不可以被執行,目錄的x代表的是使用者能否進入該目錄成為工作目錄的用途!所謂的工作目錄(work directory)就是你目前所在的目錄啦!舉例來說,當你登陸Linux時, 你所在的主資料夾就是你當下的工作目錄。而變換目錄的指令是“cd”(changedirectory)!


相關文章