Answers:
主要组是使用常规方法(TTY,GUI,SSH等)登录时应用于您的组。
由于进程通常继承父组,而您的初始进程或外壳会将主要组作为组,因此您所做的任何事情通常都会对主要组产生影响(例如,创建文件)。
辅助组是可以通过sg
或通过newgrp
命令登录而无需使用组密码即可启动进程的组。
因此,如果您有一个主要小组x
和一个次要小组y
,
touch foo
通常会x
以组所有者的身份创建一个文件(除非父目录是另一个组的SETGID)。但是,您可以执行以下操作:
sg y 'touch bar'
# or
newgrp y
touch baz
然后bar
,baz
将以y
作为组创建。
但是,如果辅助组中没有组(例如z
),则将sg
和newgroup
命令一起使用时,and 命令将要求提供组密码z
。
如果您谈论的是文件系统组,请参见Cyberciti文章。该主组创建一个新文件时默认使用。你可以测试一下
touch foo
ls -la foo
该文件将归您所有,并且属于您的主要组。也在您的主要组中的用户将对那些文件具有组级别的权限。
您可以使用
groups $(whoami)
通过在目录上设置“ 设置组ID”,还可以与不在您的主要组中的人共享文件。此处说明:具有SetGID的共享文件夹。