群組權限(Group Permissions) | Linux

Linux 中,群組權限(Group Permissions)是指對於檔案或目錄的存取權限,這些權限是針對特定群組而言的。 Linux 的文件系統允許使用者分為不同的群組,每個群組都有其成員,檔案或目錄可以被分配給某個群組,並授予該群組對檔案或目錄的特定權限。

Linux 中的每個檔案或目錄都有三組權限,分別是:

  1. 擁有者權限(Owner Permissions): 這是檔案或目錄的擁有者所擁有的權限。
  2. 群組權限(Group Permissions): 這是檔案或目錄的擁有者所屬群組的成員所擁有的權限。
  3. 其他使用者權限(Other Permissions): 這是除擁有者和擁有者所屬群組以外的所有使用者擁有的權限。

每組權限都可以分為三種:

  • 讀取權限(Read): 允許讀取檔案的內容或查看目錄的內容。
  • 寫入權限(Write): 允許修改檔案的內容或在目錄中創建、刪除檔案。
  • 執行權限(Execute): 對於檔案,表示可以執行它;對於目錄,表示可以進入該目錄。

指令範例:

以下是一個使用 ls -l 查看檔案權限的 shell 範例:

$ ls -l my_file.txt
-rw-r--r-- 1 user1 group1 1024 Jan 8 10:00 my_file.txt

在這個範例中,檔案 my_file.txt 的權限為 -rw-r–r–。解讀方式如下:

  • rw-: 第一組代表擁有者(Owner)的權限
    • r: read(可讀)
    • w: write(可以編輯寫入)
    • x: excute(可執行)
  • r--:第二組代表群組(group)的權限
    • r: read(可讀)
    • w: write(可以編輯寫入)
    • x: excute(可執行)
  • r--:第三組代表其他人or其他群組(group)的權限
    • r: read(可讀)
    • w: write(可以編輯寫入)
    • x: excute(可執行)

這裡的 group1 表示檔案的群組是 group1,user1 表示檔案的擁有者是 user1。

如果要修改檔案的群組權限,可以使用 chmod 指令。以下是一個範例: 這個指令將 my_file.txt 的群組權限中的「寫入權限」加入群組,讓群組可以寫入檔案。

$ chmod g+w my_file.txt

## 其他指令範例
$ chown <username>:<group> <file or folder>
$ chmod u=rw,g=rw,o=rw <file or folder>

透過群組權限,系統管理員可以有效地控制對於共享檔案或目錄的存取。例如,當多個使用者屬於同一群組時,群組權限可以確保這些使用者對於同一檔案或目錄具有相似的權限。

修改檔案或目錄的群組權限通常可以使用 chmod 命令,而 chown 命令則可以用來更改擁有者或群組。