快速指南:chmod 指令,用於更改檔案模式

Linux / macOS 操作系統(以及 UNIX 系統)中的每個檔案都有三個權限:讀取、寫入和執行。

進入一個資料夾,然後執行 ls -al 指令。

在每個檔案行中您看到的異常字元串,如 drwxr-xr-x,定義了檔案或資料夾的權限。

讓我們來拆解一下。

第一個字元表示檔案的類型:

  • - 表示普通檔案
  • d 表示資料夾
  • l 表示連結

然後有三組值:

  • 第一組表示檔案的所有者的權限
  • 第二組表示檔案所屬群組成員的權限
  • 第三組表示其他所有使用者的權限

這些組由三個值組成。rwx 表示該特定角色具有讀取、寫入和執行許可權。刪除的任何內容都會被換成 -,這讓您可以形成各種不同的值和相對的許可權組合:rw-r--r-x 等等。

您可以使用 chmod 指令更改檔案的權限。

chmod 可以以兩種方式使用。首先是使用符號引數,其次是使用數字引數。我們先從符號引數開始,這更直觀。

您輸入 chmod,然後+- 加上一個空格,接著是一個字母:

  • a 代表全部使用者
  • u 代表使用者
  • g 代表群組
  • o 代表其他所有使用者

然後您輸入一個或多個許可權符號(rwx)。

最後輸入檔案或資料夾的名稱。

以下是一些例子:

chmod a+r filename #所有使用者現在可以讀取
chmod a+rw filename #所有使用者現在可以讀取和寫入
chmod o-rwx filename #其他使用者(非擁有者、非檔案所屬群組)無法讀取、寫入或執行該檔案

您可以在 +- 之前添加多個字母,將相同的權限應用於多個使用者:

chmod og-r filename #其他使用者和群組不再能讀取

如果您正在編輯一個資料夾,您可以使用 -r (遞迴)旗標將權限應用於該資料夾中包含的每個檔案。

數字引數速度更快,但在日常使用中難以記憶。您使用一個表示特定權限的數字。這個數字的值可以是最大為 7,計算方法如下:

  • 如果具有執行權限,則為 1
  • 如果具有寫入權限,則為 2
  • 如果具有讀取權限,則為 4

這給我們 4 種組合:

  • 0 無權限
  • 1 可以執行
  • 2 可以寫入
  • 3 可以寫入和執行
  • 4 可以讀取
  • 5 可以讀取和執行
  • 6 可以讀取和寫入
  • 7 可以讀取、寫入和執行

我們將它們成對使用 3 次,以同時設置這三個群組的權限:

chmod 777 filename
chmod 755 filename
chmod 644 filename

chmod 指令適用於 Linux、macOS、WSL 和任何有 UNIX 環境的地方