当前位置: 首页>>技术教程>>正文


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

问题描述

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

最佳答案

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

由于进程通常继承父组,并且您的初始进程或 shell 会将您的主组作为组,因此您所做的任何事情通常都会对其产生主组的影响(例如,创建文件)。

辅助组是您可以在不使用组密码的情况下启动进程的组,通过 sg 或通过 newgrp 命令登录。

因此,如果您有一个主要组 x 和一个辅助组 y

touch foo

通常会创建一个以 x 作为组所有者的文件(除非父目录是另一个组的 SETGID)。但是,您可以这样做:

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

然后将以 y 作为组创建 barbaz

但是,如果您的次要组中没有组(比如 z ),如果您将 sgnewgroup 命令与 z 一起使用,它们将询问组密码。

次佳答案

如果您谈论的是文件系统组,那么这里 cyberciti article 对它们进行了很好的解释。创建新文件时默认使用主要组。你可以测试这个

touch foo
ls -la foo

该文件将归您所有,并在您的主要组中。同样在您的主要组中的用户将对这些文件具有组级权限。

您可以检查您的辅助组

groups $(whoami)

通过在目录上设置组 ID,也可以与不在您的主要组中的人共享文件。这在这里解释:shared folder with SetGID

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13691.html,未经允许,请勿转载。