Linux 中的主要群組與附加群組:有什麼差異?usermod 又該如何使用?

在 Linux 系統中,群組是一種管理使用者權限及資源訪問的方式,每個使用者都可以屬於一個主要群組和多個附加群組,而這兩種群組的用途各不相同。

本文將介紹主要群組與附加群組之間的差異,以及它們在系統管理中的應用。

主要群組

主要群組是每個使用者在 Linux 系統中的預設群組,當使用者創建文件或執行操作時,這些操作的屬性將歸屬於該主要群組。例如,當使用者創建一個新文件時,該文件的群組屬性會設為這個主要群組。

每個使用者只能有一個主要群組。在創建新使用者帳號時,系統通常會自動建立一個與該使用者同名的群組作為其主要群組。例如,使用者 alice 的主要群組也可能叫做 alice,這樣該使用者創建的文件就會屬於 alice 群組。

附加群組

與主要群組不同,附加群組是用來為使用者賦予額外訪問權限的。每個使用者可以屬於多個附加群組,這些群組讓使用者能夠訪問其他群組所擁有的資源或文件。

例如,alice 除了擁有主要群組 alice 外,還可能被加入 developersdesigners 這些附加群組,讓她能夠訪問這些群組擁有的特定專案或資源。附加群組的設置使得權限管理更加靈活,尤其是在多使用者協作的環境中。

如何使用 usermod 命令修改群組

在 Linux 中,可以使用 usermod 命令來修改使用者的群組屬性,其中 -g-G 是兩個常見的參數:

  • -g (小寫 g):用來指定使用者的主要群組。
    例如:usermod -g groupname username這條命令會將 username 的主要群組改為 groupname
  • -G (大寫 G):用來指定使用者的附加群組。
    例如:usermod -G group1,group2 username 這條命令會將 username 加入 group1group2 群組。需要注意的是,這樣做會覆蓋使用者目前的所有附加群組。
    因此,如果想要保留現有的附加群組並新增新的群組,可以使用 -aG 選項:usermod -aG groupname username 這樣可以保留原有的附加群組,並添加新的群組。

如何查看使用者的群組

要查看某使用者所屬的群組,可以使用以下命令:

groups username

這會列出該使用者的主要群組和所有附加群組,方便系統管理員快速了解使用者的權限狀況。

總結

在 Linux 中,主要群組與附加群組各自扮演著不同的角色:

  • 主要群組是每個使用者的預設群組,與使用者創建的文件和資源所有權相關。
  • 附加群組則提供了更靈活的方式,讓使用者能夠訪問多個群組擁有的資源,便於協作和資源共享。

透過合理地設定主要群組和附加群組,可以更有效地管理系統資源的訪問控制,並提高多使用者環境中的安全性和協作性。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端