【Linux】Linux私有组,主要组和附加组

2021/4/14 7:31:02

本文主要是介绍【Linux】Linux私有组,主要组和附加组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

私有组概念

任何用户都必须依赖一个用户组才能存在,所以如果我们在创建用户的时候没有指定用户组,那么系统会为该用户创建一个同名的组。 这个组叫做私有组。

私有组: private group

私有组里默认只有一个和该私有组同名的用户。

[root@zmedu-17 ~]# useradd gaosh4[root@zmedu-17 ~]# id gaosh4uid=1004(gaosh4) gid=1004(gaosh4) 组=1004(gaosh4)

可以看到在我创建gaosh4的时候会默认创建了一个组gaosh4

[root@zmedu-17 ~]# grep 1004 /etc/groupgaosh4:x:1004:

那我如果在创建一个用户的时候指定了一个组,还会有私有组吗?

答案是: 不会有

[root@zmedu-17 ~]# groupadd zmedu -g 3000[root@zmedu-17 ~]# useradd gaosh5 -g zmedu[root@zmedu-17 ~]# id gaosh5uid=1005(gaosh5) gid=3000(zmedu) 组=3000(zmedu)[root@zmedu-17 ~]# grep gaosh5 /etc/group[root@zmedu-17 ~]#

可以看到,当我创建一个用户gaosh5,属于zmedu组的时候,他就只有zmedu组,搜gaosh5这个私有组的时候发现不存在,也就是它并没有创建私有组。

主要组概念

在/etc/passwd的第四列GID表示该用户的主要组(primary group),一个 用户可以属于多个组,记录在/etc/passwd 的那个组叫主要组。

[root@zmedu-17 ~]# grep gaosh4 /etc/passwdgaosh4:x:1004:1004::/home/gaosh4:/bin/bash[root@zmedu-17 ~]#

一个用户的主要组,可以是私有组。

但是当你在创建用户的时候,指定了用户组,哪怕指定的用户组和用户名相同,也不算私有组。只有系统给创建的才叫私有组

附加组概念

一个用户只可以属于一个私有组,但是可以同时属于多个附加组(attached group)

比如一个前台,可能同时也兼着财务和销售。

所以这个前台有个主要组是前台。 财务和销售是他的附件组。

[root@zmedu-17 ~]# groupadd cwu[root@zmedu-17 ~]# groupadd xshou[root@zmedu-17 ~]# useradd qtai -G cwu

useradd -g 是创建私有组

[root@zmedu-17 ~]# grep qtai /etc/passwd
qtai❌1006:1006::/home/qtai:/bin/bash
[root@zmedu-17 ~]# grep 1006 /etc/group
qtai❌1006:

有私有组的时候,不会在/etc/passwd里和组里出现附加值。但是从操作上我们也可以执行

[root@zmedu-17 ~]# id qtaiuid=1006(qtai) gid=1006(qtai) 组=1006(qtai),3001(cwu)

总结

私有组: 存在的意义在于你没有指定用户组的时候,系统自动添加一个同名的组,叫私有组

附加组:在现有组的前提下,在添加一个从属组

主要组: 在/etc/passwd的第四列GID表示该用户的主要组

一个组可以是私有组也可以是主要组,但无法根据/etc/passwd去判断一个组是否是私有组。



这篇关于【Linux】Linux私有组,主要组和附加组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程