Ubuntu 中主要组和次要组有什么区别?

Ubuntu 中主要组和次要组有什么区别?

Ubuntu 中主要组和次要组有什么区别?

答案1

主要组是您使用常用方法(TTY、GUI、SSH 等)登录时应用于您的组。

由于进程通常继承父级的组,并且您的初始进程或 shell 将以您的主组作为组,因此您所做的任何操作通常都会受到主组的影响(例如,创建文件)。

次要组是您可以以不使用组密码的身份启动进程的组,可以通过以下方式启动sg或通过newgrp命令。

因此如果你有一个主要组x和一个次要组y

touch foo

通常会创建一个文件,其x所有者是组所有者(除非父目录是另一个组的 SETGID)。但是,您可以执行以下操作:

sg y 'touch bar'
# or
newgrp y
touch baz

然后将创建和bar作为组。bazy

但是,如果您的次要组中没有组(例如z),则当您将sgnewgroup命令与 一起使用时,它们将要求输入组密码z

答案2

如果您正在谈论文件系统组,那么这里有很好的解释cyberciti 文章。 这初级组是创建新文件时默认使用的。您可以测试一下

touch foo
ls -la foo

该文件将归您所有并属于您的主要组。同样属于您的主要组的用户将拥有这些文件的组级权限。

您可以使用以下命令检查您的次要组

groups $(whoami)

您还可以通过设置与不属于您主要群组的人共享文件设置组 ID在目录中。解释如下:使用 SetGID 共享文件夹

相关内容