何时创建它们属于哪种类型的组?

何时创建它们属于哪种类型的组?

Linux中有两种类型的组概念:主要组和次要组,创建新组很简单:

sudo groupadd gname

现在我想知道新创建的组gname属于哪种类型的组?有没有办法在它们之间相互转换?

创建两个不包含用户的新组

sudo groupadd writers
sudo groupadd editers

添加新用户。

sudo useradd -m mywriter -p yourpassword
sudo useradd -m myediter -p yourpassword

将新用户添加到组中。

sudo usermod -a -G writers mywriter  
sudo usermod -g editers myediter

现在我们有 4 组。

cat /etc/group | tail -4 
writers:x:1007:mywriter
editers:x:1008:
mywriter:x:1009:
myediter:x:1010:

进入我的作家

$ touch /tmp/mywriter.txt
$ ls -al  /tmp/mywriter.txt
-rw-r--r-- 1 mywriter mywriter 0 Aug 23 21:24 /tmp/mywriter.txt

进入我的编辑器

$ touch /tmp/myedier.txt
$ ls -al  /tmp/myediter.txt
-rw-r--r-- 1 myediter editers 0 Aug 23 21:27 /tmp/myediter.txt

对于组 1----mywriter:

id mywriter
uid=1009(mywriter) gid=1009(mywriter) groups=1009(mywriter),1007(writers)

mywriter自 uid=gid=1009 以来,它是一个主要组。

对于组2--myediter

id myediter
uid=1010(myediter) gid=1008(editers) groups=1008(editers)

是二级群体吗?

如何对群writers和进行分类editers

答案1

群体本身没有主要或次要之分。群体就是群体。

重要的是如何使用它们。

让我们来看一个典型的登录会话。 (为了便于解释,我将简化这一点,但相同的逻辑适用于更复杂的情况)。

当登录过程设置您的组成员资格时,它所做的第一件事就是查看文件passwd

对于我来说,在我的机器上:

sweh:x:500:500:Stephen Harris:/home/sweh:/bin/ksh

第二个数字决定了基本的团体。所以我的主要组是组 ID 500。

接下来,它会查看组文件,看看哪些条目列出了我的用户名:

% grep -w sweh /etc/group
wheel:x:10:sweh
sweh:x:500:
apache:x:48:sweh
news:x:13:news,sweh

所以我们可以看到我已被列入第 10、48 和 13 组。这些是中学组。

我们可以使用以下命令看到这一点id

% id
uid=500(sweh) gid=500(sweh) groups=500(sweh),10(wheel),13(news),48(apache)

gid值列出了主要组。值groups列表全部我所在的组。所有不是主要的都是次要的。

不同的登录可能有不同的主要组和次要组,具体取决于它们在passwd和中的条目group

所以我们可以看到“主要”和“次要”是基于上下文的用户以及如何定义该用户。它不是基于团体本身。

答案2

它是: 是否是基本的或者中学组完全取决于你如何将它附加到给定的用户 ID。有些系统有一个usermod例如,程序有一个选项可以将该组指定为辅助组。

相关内容