Linux用户可以属于多个组吗?


Answers:


17

是的,用户可以是多个组的成员

用户被分组,每个用户至少在一个组中,也可能在其他组中。组成员资格使您可以特别访问该组允许的文件和目录。

例如,您可以将用户添加username到组group1,并group2用下面的usermod命令:

usermod -a -G group1,group2 username

14

是的,普通的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

1

是的,请参阅其他答案。另一种是访问控制列表。

setfacl
getfacl

每个文件可以具有可以访问该文件的用户和组的列表。

一个人是一个用户,并且有多个组(组只能由admin / root用户设置)。一个文件通常是一个所有者用户和一个组,使用ACL可以是一个所有者用户,再加上许多其他用户,再加上许多组。

使用哪种取决于您的需求。ACL可以是要使用的窗格,但不需要管理员(安装和启用除外,默认情况下通常不会安装)。另一种方法是简单但功能较弱。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.