Linux用户可以属于多个组吗?
如果允许,则一次使用可能会访问来自两个组的文件,这将非常不错!
如果没有,是否有其他方法可以使用此功能?
Linux用户可以属于多个组吗?
如果允许,则一次使用可能会访问来自两个组的文件,这将非常不错!
如果没有,是否有其他方法可以使用此功能?
Answers:
是的,普通的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
是的,请参阅其他答案。另一种是访问控制列表。
setfacl
getfacl
每个文件可以具有可以访问该文件的用户和组的列表。
一个人是一个用户,并且有多个组(组只能由admin / root用户设置)。一个文件通常是一个所有者用户和一个组,使用ACL可以是一个所有者用户,再加上许多其他用户,再加上许多组。
使用哪种取决于您的需求。ACL可以是要使用的窗格,但不需要管理员(安装和启用除外,默认情况下通常不会安装)。另一种方法是简单但功能较弱。