Linux初始组和附加组
2年前 (2024-04-27)
通过学习用户和群组我们知道,群组可以让多个用户具有相同的权限,同时也可以这样理解,一个用户可以所属多个群组,并同时拥有这些群组的权限,这就引出了初始组(有时也称主组)和附加组。
《Linux etc/passwd》一节中,已经对用户所属初始组和附加组的概念进行了简单介绍,本节对初始组和附加组做更详细的介绍。
/etc/passwd 文件中每个用户信息分为 7 个字段,其中第 4 字段(GID)指的就是每个用户所属的初始组,也就是说,当用户一登陆系统,立刻就会拥有这个群组的相关权限。
举个例子,我们新建一个用户 lamp,并将其加入 users 群组中,执行令如下:
可以看到,在 etc/passwd 文件中,lamp 用户所属的 GID(群组 ID)为 501,通过搜索 /etc/group 文件得知,对应此 GID 的是 lamp 群组,也就是说,lamp 群组是 lamp 用户的初始组。
lamp 群组是添加 lamp 用户时默认创建的群组,在 root 管理员使用 useradd 令创建新用户时,若未明确指定该令所属的初始组,useradd 令会默认创建一个同用户名相同的群组,作为该用户的初始组。
正因为 lamp 群组是 lamp 用户的初始组,该用户一登陆就会自动获取相应权限,因此不需要在 /etc/group 的第 4 个字段额外标注。
但是,附加组就不一样了,从例子中可以看到,我们将 lamp 用户加入 users 群组中,由于 users 这个群组并不是 lamp 的初始组,因此必须要在 /etc/group 这个文件中找到 users 那一行,将 lamp 这个用户加入第 4 段中(群组包含的所有用户),这样 lamp 用户才算是真正加入到 users 这个群组中。
在这个例子中,因为 lamp 用户同时属于 lamp 和users 两个群组,所在,在读取\写入\运行文件时,只要是 user 和 lamp 群组拥有的功能,lamp 用户都拥有。
一个用户可以所属多个附加组,但只能有一个初始组。那么,如何知道某用户所属哪些群组呢?使用 groups 令即可。
例如,我们现在以 lamp 用户的身份登录系统,通过执行如下令即可知晓当前用户所属的全部群组:
《Linux etc/passwd》一节中,已经对用户所属初始组和附加组的概念进行了简单介绍,本节对初始组和附加组做更详细的介绍。
/etc/passwd 文件中每个用户信息分为 7 个字段,其中第 4 字段(GID)指的就是每个用户所属的初始组,也就是说,当用户一登陆系统,立刻就会拥有这个群组的相关权限。
举个例子,我们新建一个用户 lamp,并将其加入 users 群组中,执行令如下:
[root@localhost ~]# useradd lamp <--添加新用户
[root@localhost ~]# groupadd users <--添加新群组
[root@localhost ~]# usermod -G users lamp <--将用户lamp加入 users群组
[root@localhost ~]# grep "lamp" /etc/passwd /etc/group /etc/gshadow
/etc/passwd:lamp:x:501:501::/home/lamp:/bin/bash
/etc/group:users:x:100:lamp
/etc/group:lamp:x:501:
/etc/gshadow:users:::lamp
/etc/gshadow:lamp:!::
useradd 和 groupadd 分别是添加用户和群组的令,后续章节会做详细讲解。可以看到,在 etc/passwd 文件中,lamp 用户所属的 GID(群组 ID)为 501,通过搜索 /etc/group 文件得知,对应此 GID 的是 lamp 群组,也就是说,lamp 群组是 lamp 用户的初始组。
lamp 群组是添加 lamp 用户时默认创建的群组,在 root 管理员使用 useradd 令创建新用户时,若未明确指定该令所属的初始组,useradd 令会默认创建一个同用户名相同的群组,作为该用户的初始组。
正因为 lamp 群组是 lamp 用户的初始组,该用户一登陆就会自动获取相应权限,因此不需要在 /etc/group 的第 4 个字段额外标注。
但是,附加组就不一样了,从例子中可以看到,我们将 lamp 用户加入 users 群组中,由于 users 这个群组并不是 lamp 的初始组,因此必须要在 /etc/group 这个文件中找到 users 那一行,将 lamp 这个用户加入第 4 段中(群组包含的所有用户),这样 lamp 用户才算是真正加入到 users 这个群组中。
在这个例子中,因为 lamp 用户同时属于 lamp 和users 两个群组,所在,在读取\写入\运行文件时,只要是 user 和 lamp 群组拥有的功能,lamp 用户都拥有。
一个用户可以所属多个附加组,但只能有一个初始组。那么,如何知道某用户所属哪些群组呢?使用 groups 令即可。
例如,我们现在以 lamp 用户的身份登录系统,通过执行如下令即可知晓当前用户所属的全部群组:
[root@localhost ~]# groups
lamp users
通过以上输出信息可以得知,lamp 用户同时属于 lamp 群组和 users 群组,而且,个出现的为用户的初始组,后面的都是附加组,所以 lamp 用户的初始组为 lamp 群组,附加组为 users 群组。
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
