Linux教學:ls -l參數用法,瞭解三種不同權限設定

Linux系統以9個文字編碼進行權限管理,本文以簡單範例介紹r讀取、w寫入、x執行三種權限性質,以及文件所有者、所屬群組、普通使用者的編組設定。

一、mkdir與ls命令

想具體瞭解Linux權限機制,先以命令「mkdir folder」在管理員主目錄下新增一個「folder」資料夾,接著再以命令「ls -l」檢視,可以看到目前有一個檔案跟一個資料夾,在清單最前面的「–」代表是檔案,「d」代表資料夾。

關於Linux如何以「ls」命令檢視文件,可以參考贊贊小屋相關文章

一張含有 文字 的圖片

自動產生的描述

二、linux權限設定

接下來試看看「sudo」命令,臨時切換成普通使用者「zanzan」執行ls命令:「sudo -u zanzan ls」,會發現到是「拒絕不符權限的操作」,剛好利用這個範例跟各位介紹,利用「ls -l」命令叫出文件與資料夾的長清單,第一個字元是上個步驟提到的區分文件的性質,接下來有9個字元是權限設定的部份,並且是以三個字元分成三組。其中前三個是文件所有者的權限,這裡可以看到這兩個檔案的所有者都是「root」系統管理員,其中第一個檔案的權限是「rw-」,代表可以讀取及寫入,第二個資料夾的權限是「rwx」代表所有者root具有讀取、寫入、執行的權限。

Linux教學:ls -l參數用法,瞭解三種不同權限設定 2

三、gpasswd群組

輸入命令:「gpasswd -a zanzan root」,將「zanzan」使用者加入到「root」群組,再以「id zanzan」命令查看普通使用者「zanzan」,可以看到已經屬於root群組,接下來再臨時切換為「zanzan」執行ls命令:「sudo -u zanzan ls」,這時候已經可以檢視系統管理員的資料夾內容了,這個便是文件屬性權限中第4到第6字元的作用。這些文件是屬於「root」群組,其中第一項檔案為「—」,代表就算屬於「root」群組,但也沒有任何權限。而第2個資料夾是「r-x」,代表具有讀取權限,沒有寫入權限,但是有執行權限。

關於Linux系統群組管理相關的操作,可以參考贊贊小屋相關文章

一張含有 文字 的圖片

自動產生的描述

四、群組權限測試

上個步驟有提到即使是「root」群組,也沒有針對第一項檔案的任何權限,因此同樣可以使用「 Sudo」測試看看,可以看到果然普通的使用者,並沒有辦法查看這個檔案的內容:「拒絕不符權限的操作」。

Linux教學:ls -l參數用法,瞭解三種不同權限設定 5

五、新增資料夾權限

接著測試資料夾權限。例如root管理員可以使用「mkdir」命令在「folder」下面新增一個子資料夾「test1」,這部分權限沒有問題,可是如果是普通使用者「zanzan」:「sudo -u zanzan mkdir ./folder/test2」,執行結果是沒有辦法新增資料夾,因為沒有資料夾寫入的權限。

Linux教學:ls -l參數用法,瞭解三種不同權限設定 7

六、普通使用者權限

最後再將「zanzan」從「root」群組中刪除,這個時候「zanzan」已經是屬於權限裡面的第7~9字元,也就是第三組部份,並非所有者也不是所屬群組,而是單純的其他使用者帳號,可以看到在第一項檔案是沒有任何權限,而第二項資料夾是有讀取跟執行的權限,然而實際執行會發現到並沒有辦法存取「 root」下面的「folder」這個子資料夾,同樣是「拒絕不符權限的操作」。為了進一步瞭解這個比較奇怪的情形,再查看一下「 root」這個資料夾本身的權限,可以發現到對於普通使用者它是沒有任何的權限的,也許是因為這個原因,「zanzan」普通使用者即使是有「 root」子資料夾的讀取權限,但沒有「root」父資料夾權限,所以也是沒有辦法讀取子資料夾。

Linux教學:ls -l參數用法,瞭解三種不同權限設定 9

七、資料夾路徑數

最後補充說明文件屬性資訊裡權限後面的位置有一個數字,它是代表相關的文件次數。例如這裡可以看到「root」和「folder」都是3,代表這兩個資料夾除了資料夾本身及上一層資料夾之外,兩者都還有一個子資料夾,因此如果將「root/ folder」 下面的子資料夾「test1」刪除的話,「folder」的階層數變成是「2」,代表它只有自己本身的資料夾跟它的上一層資料夾「root」,總共是兩個路徑屬性值。

一張含有 文字, 黑色, 計分板 的圖片

自動產生的描述

Linux權限管理實務應用

這篇文章主要介紹Linux權限機制,可以看到三種類型的權限,「R」代表「讀取」、「W」代表「寫入」、「 X」代表「執行」。其中讀取和寫入應該很容易可以理解,執行的話,檔案部分是指程式檔案可以執行,資料夾的部分其中一項特性是指可不可以用cd命令進入到此資料夾。另外每一組三個不同類型的權限(rwx)又分成三個不同的組別,第一組是文件所有者,第二組是文件所屬群組,第三組則是並非所有者也不是群組的普通使用者。Linux系統便是這樣子簡單用9個文字串進行權限設定,如果是一開始在自己電腦架設虛擬機器,也許會覺得這個權限機制過於複雜,似乎沒有必要,可是如果是以Linux系統架設網站的主流應用而言,可以想見主機網站通常是團隊經營維護,因此彼此之間權限如何設定就非常重要,一方面是分工合作,另外一方面也是維持網站運作穩定的管理機制。

每天學習,每天充電:Linux文章合集

Linux教學:ls -l參數用法,瞭解三種不同權限設定 12
歡迎加入Line社群,口袋裡的VBA小教室!