news 2026/5/6 7:14:25

Linux 用户和组的创建机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 用户和组的创建机制

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习
🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发
❄️作者主页:一个平凡而乐于分享的小比特的个人主页
✨收录专栏:Linux,本专栏目的在于,记录学习Linux操作系统的总结
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

Linux 用户和组的创建机制

问题提出

从图中,可以看出,我创建了一个张三的用户,并添加到Linux组里

查看Linux组,也存在张三的用户。但是我检查当前家目录权限时,显示zhangsan用户,在zhangsan组下:

问题是我并没有创建zhangsan组呀!更没有把zhangsan用户添加到zhangsan组下!通过问deepseek才了解到根本原因。分享给大家。

为什么显示的是zhangsan组而不是linux组?

查看用户信息

逐部分解析:

  1. uid=1001(zhangsan)
    • uid:用户ID(User ID)
    • 1001:系统分配给zhangsan用户数字ID
    • zhangsan:用户名
  2. gid=1002(zhangsan)
    • gid:主组ID(Group ID)
    • 1002zhangsan主组数字ID
    • zhangsan:主组名(默认与用户名相同)
  3. 组=1002(zhangsan),1001(linux)
    • 用户zhangsan所属的所有组
    • 1002(zhangsan):主组
    • 1001(linux):附加组(你通过-G linux添加的)

可视化表示:

用户:zhangsan ├── 用户ID(uid):1001 ├── 主组ID(gid):1002(组名:zhangsan) └── 所属的所有组: ├── 主组:zhangsan(1002) └── 附加组:linux(1001)

这意味着什么?

  1. 主组zhangsan
    • 这是系统自动创建的默认主组
    • 新创建的文件默认属于这个组
    • 命令newgrp linux可以临时切换主组
  2. 附加组linux
    • 用户可以访问linux组拥有的资源
    • 比如:如果某个文件/目录的组权限是linux组,zhangsan可以访问

方法一:修改现有用户的主组

# 修改主组sudousermod-g linux zhangsan# 检查idzhangsan

可以看到修改后zhangsan用户的主组更变为Linux组

方法二:创建时同时设置主组和附加组

区别

参数含义示例
-g设置主组-g linux
-G设置附加组-G linux
同时使用主组+附加组-g linux -G sudo

所以你现在的情况是:

  • 主组:zhangsan(系统自动创建的)
  • 附加组:linux(你通过-G添加的)

这是正常的 Linux 用户管理行为。如果你希望linux是主组,需要明确指定-g linux

主组 vs 附加组

1. 数量区别

  • 主组:每个用户有且只有1个主组
  • 附加组:每个用户可以有0个或多个附加组

2. 作用区别

特性主组(Primary Group)附加组(Supplementary Group)
创建文件时文件的默认所属组不影响文件所属组
必须有是,每个用户必须有一个不是必须的,可以有0个或多个
默认值创建用户时自动创建同名组需要手动指定
查看方式id命令的gid=部分id命令的组=部分

实际例子解释:

情况1:zhangsan 创建文件

su- zhangsantouchmyfile.txtls-l myfile.txt

输出会是:

-rw-r--r-- 1 zhangsan zhangsan 0 Dec 29 09:00 myfile.txt # ↑ 文件的组是 "zhangsan"(主组),不是 "linux"

情况2:临时切换主组

# zhangsan 用户执行newgrp linux# 临时切换到 linux 组touchlinuxfile.txtls-l linuxfile.txt

输出会是:

-rw-r--r-- 1 zhangsan linux 0 Dec 29 09:01 linuxfile.txt # ↑ 文件的组现在是 "linux"

情况3:访问权限验证

假设有一个文件夹:

# root 用户执行sudomkdir/sharedsudochownroot:linux /shared# 所有者 root,组 linuxsudochmod770/shared# root 和 linux 组成员可读写

现在:

  • zhangsan可以访问/shared(因为它是linux组成员)
  • 其他非linux组成员不能访问

你的zhangsan用户可以:

  1. 作为zhangsan组的一员
    • 创建文件时默认属于zhangsan
    • 访问zhangsan组有权限的资源
  2. 作为linux组的一员
    • 访问linux组有权限的资源
    • 当需要时,可以用newgrp linux切换到linux组创建文件

查看当前用户的所有组信息

# 当前用户(zhangsan)查看自己所在组groups# 查看详细组信息id# 查看具体某个用户的组groupszhangsan

总结:

  • zhangsan 确实同时在两个组里zhangsan组(主组)和linux组(附加组)
  • 区别在于:新建文件默认使用主组,但用户可以访问所有组(主组+附加组)的资源
  • 实际意义:用户可以拥有多个身份,访问不同组的资源

这是 Linux 权限管理的灵活之处:一个用户可以通过加入不同的组,获得对多个资源的访问权限,而无需单独为每个用户设置权限。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 10:04:43

如何快速掌握Firebase Admin PHP SDK:完整实践指南

如何快速掌握Firebase Admin PHP SDK:完整实践指南 【免费下载链接】firebase-php Unofficial Firebase Admin SDK for PHP 项目地址: https://gitcode.com/gh_mirrors/fi/firebase-php Firebase Admin PHP SDK是一个专门为PHP开发者设计的非官方Firebase管理…

作者头像 李华
网站建设 2026/5/1 4:33:06

YimMenuV2:GTA V模组开发新纪元

YimMenuV2:GTA V模组开发新纪元 【免费下载链接】YimMenuV2 Unfinished WIP 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenuV2 想要为GTA V创建个性化游戏体验?YimMenuV2正是你寻找的完美解决方案。这个基于C20的现代化框架彻底改变了…

作者头像 李华
网站建设 2026/5/1 8:34:46

后端技术栈决策:初创企业生存发展的战略考量

后端技术栈决策:初创企业生存发展的战略考量 【免费下载链接】firebase-js-sdk Firebase Javascript SDK 项目地址: https://gitcode.com/gh_mirrors/fi/firebase-js-sdk 在数字经济时代,技术架构的选择已从纯粹的技术决策演变为影响企业长期发展…

作者头像 李华
网站建设 2026/5/2 21:40:26

终极NanoMQ完整指南:构建高性能边缘计算消息服务

终极NanoMQ完整指南:构建高性能边缘计算消息服务 【免费下载链接】nanomq 项目地址: https://gitcode.com/gh_mirrors/na/nanomq NanoMQ作为EMQX家族专为物联网边缘计算设计的超轻量级MQTT消息服务器,以其极小的资源占用和高效的性能表现&#x…

作者头像 李华
网站建设 2026/5/1 11:13:28

3步搞定Vue项目AI集成:从零到流式响应的实战指南

3步搞定Vue项目AI集成:从零到流式响应的实战指南 【免费下载链接】ai Build AI-powered applications with React, Svelte, Vue, and Solid 项目地址: https://gitcode.com/GitHub_Trending/ai/ai 还在为Vue项目中集成AI功能而头疼吗?响应式数据流…

作者头像 李华
网站建设 2026/4/27 5:33:16

NodePPT Mermaid插件终极指南:如何用代码创建专业级演示图表

NodePPT Mermaid插件终极指南:如何用代码创建专业级演示图表 【免费下载链接】nodeppt This is probably the best web presentation tool so far! 项目地址: https://gitcode.com/gh_mirrors/no/nodeppt 还在为技术演示中的流程图制作而烦恼吗?N…

作者头像 李华