废话不扯,虽然标题党了一点。
初始用户组(主组,基本组):
创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是初始用户组,不可以把用户从初始用户组中删除。说人话(举例):比如我创建一个新用户user1,useradd user1。这个时候查询user1用户的所属组, groups user1。
还是不懂的话再举个简单的例子:你长大了,翅膀硬了,不想和你妈老汉一堆,想另立家门,这个时候去派出所申请了一个户口本,但是户口本上只有你一个人,户主那一页填的是你的名字,翻到你那一页也是你的名字。(可能不是很恰当)
每个用户在/etc/passwd里面的第四列有个GID,该GID就是“初始用户组”(initial group)。也就是说,当用户登录系统,立刻就拥有这个用户组的相关权限的意思。一个用户只有一个初始用户组。
有效用户组:
有效用户组表示用户此时此刻所在的用户组是什么,有效用户组是可以切换的。在切换有效用户组之前。注意,是之前,有效用户组就是初始用户组。想要知道用户自己当前的有效用户组和支持的用户组(在 /etc/group 文件中第四字段包含此用户的用户组),使用 groups 即可。
说人话(举例):你有一个儿子,你的儿子想认你的好兄弟为干爹,这个时候你儿子就属于你和你好兄弟的孩子,但是你儿子觉得这个干爹他不喜欢,他想换一个干爹,所以你儿子又认了一个新干爹。你儿子永远只有你这个亲爹,不可动摇的血缘关系,但是干爹可以换。(杠精勿扰)
在这个输出的信息中,第一个输出的用户组就是当前的有效用户组了。
通常有效用户组的作用是新建文件。使用 newgrp 命令可以切换有效用户组,注意只能切换当前账号支持的用户组。用户是可以从附加组中被删除的。一个用户可以属于多个有效用户组。