一個 Linux 用戶可以屬於多個群組嗎?

一個 Linux 用戶可以屬於多個群組嗎?

一個 Linux 用戶可以屬於多個群組嗎?

如果允許的話,那麼一個使用者可以存取兩組文件,那就太好了!

如果沒有,有沒有其他方法可以實現這個功能?

這個問題與確保目錄中的新檔案屬於該群組或者幫助我了解 Ubuntu 使用者/群組權限

答案1

是的,一個用戶可以是多個群組的成員

使用者被組織成群組,每個使用者至少屬於一個群組,也可能屬於其他群組。群組成員資格使您可以特殊存取該群組允許的檔案和目錄。

例如,您可以將使用者新增username至群組中group1,並group2使用下列命令usermod命令:

usermod -a -G group1,group2 username

答案2

是的,一個普通的 UNIX 使用者可以是多個群組的成員。

然而,只有其中的群組是用戶的主要群體

新增使用者時,例如使用adduser,可以使用該--ingroup選項指定主要群組,並在 Debian/Ubuntu 等中新增多個輔助群組,如下所示:

$ # would create user gert and group gert
$ sudo adduser gert

$ # same, but no group 'gert' will be created, but made member of the existing
$ # group 'adm'
$ sudo adduser gert --ingroup adm

$ # secondary groups
$ sudo adduser gert superusers
Adding user `gert' to group `superusers' ...
Adding user gert to group superusers
Done.
$ sudo adduser gert debianfans

可以使用以下命令檢查您是哪個使用者的成員id

$ id
uid=1000(gert) gid=1000(gert) groups=1000(gert),4(superusers),5(debianfans)
               ^^^            ^^^^^^
               primary        secondary
               group          groups

同樣對於其他用戶,只需將他們的用戶名作為第一個參數傳遞給id.

-g您可以使用( --gid) 選項來變更使用者的主要群組usermod

$ usermod -g new_primary_group username

答案3

是的,看其他答案。另一種選擇是存取控制清單。

setfacl
getfacl

每個文件都可以有一個可以存取該文件的使用者和群組的清單。

一個人就是一個使用者和多個群組(群組只能由admin/root使用者設定)。一個檔案通常是一個所有者用戶和一個群組,透過 ACL,它可以是一個所有者用戶,加上許多其他用戶,再加上許多群組。

您使用哪一個取決於您的需求。 ACL 可以是一個要使用的窗格,但不需要管理(除了安裝和啟用之外,我通常不會預設安裝它)。另一種方法較簡單,但功能較弱。

相關內容