天天看點

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

作者:雲計算練習生

下面将詳細介紹Linux檔案權限管理,幫助有需要的ikun了解和應用這些概念。從基本的權限概念開始,然後介紹如何檢視和修改權限。最後,我們整點進階的東西,如通路控制清單(ACL)。

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

1. 檔案權限基礎

在Linux中,每個檔案和目錄都有一組權限,用于控制不同使用者對其的通路。權限分為三類:

- 讀(r):允許使用者讀取檔案内容或列出目錄中的檔案

- 寫(w):允許使用者編輯檔案内容或在目錄中建立、删除檔案

- 執行(x):允許使用者運作檔案(如果它是一個可執行程式)或進入目錄

權限按照三個主要使用者類别分組:

- 檔案所有者(u,user)

- 檔案所屬組(g,group)

- 其他使用者(o,others)

2. 檢視檔案權限

要檢視檔案或目錄的權限,可以使用ls -l指令。例如,對于名為example.txt的檔案,運作:

先建立一個example.txt檔案,再檢視檔案

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

從左到右,輸出的第一個字段表示檔案類型和權限(-rw-r--r--)。忽略第一個字元(表示檔案類型),剩下的9個字元分為3組,每組3個字元,分别表示所有者、組和其他使用者的權限。

在本例中,所有者具有讀寫權限(rw-),組和其他使用者隻具有讀取權限(r--)。數字1表示檔案的硬連結數,user和group分别表示所有者和所屬組。接下來是檔案大小(25位元組),修改日期和檔案名。

3. 修改檔案權限

要修改檔案或目錄的權限,可以使用chmod指令。chmod有兩種模式:符号模式和數字模式。

3.1 符号模式

符号模式使用字母表示要修改的使用者類别(u、g、o、a(表示全部))和要執行的操作(+、-、=)。例如,要向所有使用者授予example.txt的寫入權限,可以運作:

chmod a+w example.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

要删除其他使用者的寫權限,可以運作:

chmod o-w example.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

3.2 數字模式

數字模式使用3位八進制數表示權限。每位數字表示一個使用者類别的權限,從左到右分别是所有者、組和其他使用者。将每個權限映射到一個數值:r為4,w為2,x為1。每個使用者類别的權限是這些值的和。

例如,要設定example.txt的權限,以便所有者具有讀寫權限(rw-),組具有隻讀權限(r--),其他使用者沒有權限(---),可以運作:

删除上面建立的example.txt檔案,建立新的example.txt檔案

Linux檔案之權限管理——檔案權限、chmod和chown指令講解
Linux檔案之權限管理——檔案權限、chmod和chown指令講解

給example.txt檔案640權限,預設是644,chmod 640 example.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

再給example.txt檔案777權限

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

在這裡,6(4+2)表示所有者的讀寫權限,4表示組的讀取權限,0表示其他使用者沒有權限。

4. 進階主題:通路控制清單(ACL)

通路控制清單(ACL)是一種更靈活的權限管理方式。要啟用ACL,需要在檔案系統挂載時啟用ACL選項。之後,可以使用getfacl和setfacl指令檢視和設定ACL。

例如,要允許名為user2的使用者讀取ikun.txt,可以運作:

setfacl -m u:user2:r ikun.txt

首先建立user2使用者

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

再建立一個檔案用于練習,touch ikun.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

設定允許名為user2的使用者讀取ikun.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

要檢視example.txt的ACL,可以運作:

getfacl ikun.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

這顯示了ikun.txt的預設權限和特定使用者(user2)的ACL。要删除特定的ACL條目,可以使用-x選項,例如:

setfacl -x u:user2 ikun.txt

Linux檔案之權限管理——檔案權限、chmod和chown指令講解

5. 總結

在本教程中,我們介紹了Linux檔案權限管理的基本概念,如何檢視和修改檔案權限,以及通路控制清單(ACL)的進階主題。通過了解和應用這些概念,初學者可以更好地管理Linux系統上的檔案通路權限,確定資料的安全和完整性。

希望這些資訊對您有所幫助!如果有不對的地方請不吝賜教,歡迎在評論區留言,發表你的看法。

繼續閱讀