Ubuntu 中主要组和次要组有什么区别?
答案1
主要组是您使用常用方法(TTY、GUI、SSH 等)登录时应用于您的组。
由于进程通常继承父级的组,并且您的初始进程或 shell 将以您的主组作为组,因此您所做的任何操作通常都会受到主组的影响(例如,创建文件)。
次要组是您可以以不使用组密码的身份启动进程的组,可以通过以下方式启动sg
或通过newgrp
命令。
因此如果你有一个主要组x
和一个次要组y
,
touch foo
通常会创建一个文件,其x
所有者是组所有者(除非父目录是另一个组的 SETGID)。但是,您可以执行以下操作:
sg y 'touch bar'
# or
newgrp y
touch baz
然后将创建和bar
作为组。baz
y
但是,如果您的次要组中没有组(例如z
),则当您将sg
和newgroup
命令与 一起使用时,它们将要求输入组密码z
。
答案2
如果您正在谈论文件系统组,那么这里有很好的解释cyberciti 文章。 这初级组是创建新文件时默认使用的。您可以测试一下
touch foo
ls -la foo
该文件将归您所有并属于您的主要组。同样属于您的主要组的用户将拥有这些文件的组级权限。
您可以使用以下命令检查您的次要组
groups $(whoami)
您还可以通过设置与不属于您主要群组的人共享文件设置组 ID在目录中。解释如下:使用 SetGID 共享文件夹。