当前位置: 首页 > news >正文

「Linux用户账号管理」组群管理

群组文件

/etc/group文件:存储 Linux 系统中所有用户组(group)的信息。

  • 文件结构(每行4个字段)
    格式:组名:组密码占位符:组ID(GID):组成员列表

  • 字段详解

    1. 组名称 (group_name)

      • 字母数字组合(不能含冒号、大写字母建议避免)
      • 长度通常 ≤ 32 字符
    2. 组密码 (password)

      • 总是 x(表示实际密码存于 /etc/gshadow)
      • 若显示为 ! 表示禁用组密码(标准设置)
    3. 组ID (GID)

      • 0-999 → 系统保留组(如 root 组GID=0)
      • ≥1000 → 普通用户组
    4. 成员列表 (user_list)

      • 属于该组的附加用户成员
      • 用英文逗号分隔的用户名(不包含主组用户)
  • 示例解析

    root:x:0:
    sudo:x:27:alice,bob
    docker:x:998:carol
    developers:x:1001:dev1,dev2,dev3
    
    组名含义成员说明
    root管理员组 (GID=0)无附加成员
    sudosudo特权组 (GID=27)alice和bob有sudo权限
    dockerDocker容器管理组 (GID=998)carol可操作Docker
    developers开发团队组 (GID=1001)包含3名开发人员

/etc/gshadow:存储群组密码和管理员信息(高级场景使用)。

常用命令

groupadd:创建新群组

核心功能:在 Linux 系统中创建新用户组,自动分配 GID 或指定特定 GID。
groupadd 命令语法

groupadd [选项] 组名

常用选项

选项作用示例
-g GID指定自定义 GIDsudo groupadd -g 1500 dev
-f强制创建(组已存在时不报错)sudo groupadd -f backup
-r创建系统组(GID < 1000)sudo groupadd -r appadmin
-o允许使用重复 GID(不推荐)sudo groupadd -o -g 1001 test
-K KEY=VAL覆盖 /etc/login.defs 中的默认配置sudo groupadd -K GID_MIN=2000 dev

使用示例

  1. 创建普通用户组

    groupadd developers  # 创建名为 developers 的组(自动分配 GID)
    
  2. 创建指定 GID 的组

    groupadd -g 2024 docker_users  # 创建 GID=2024 的组
    
  3. 创建系统组

    groupadd -r mysql_admin  # 创建系统组(GID 范围 0-999)
    
  4. 强制创建(忽略已存在报错)

    groupadd -f webadmin  # 组存在时静默跳过
    

关键注意事项

  1. 权限要求

    groupadd ...  # 必须使用 root 或 sudo 权限
    
  2. GID 分配规则

    • 默认从 /etc/login.defs 中的 GID_MIN(通常 1000)开始分配
    • 系统组:GID 范围 0-999
    • 普通组:GID ≥1000
  3. 组名规范

    • 长度 ≤ 32 字符
    • 禁止特殊字符(仅允许 _-
    • 大小写敏感(Devdev
  4. 冲突处理

    • 组名或 GID 重复时报错 → 用 -f 忽略或 -g 修改 GID
    • 系统组避免使用保留 GID(如 012

groupdel

http://www.lryc.cn/news/574031.html

相关文章:

  • ActixWeb框架实战案例精萃
  • DAY 40 训练和测试的规范写法
  • 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗
  • LED-Merging: 无需训练的模型合并框架,兼顾LLM安全和性能!!
  • Spring AI 项目实战(十二):Spring Boot +AI + DeepSeek + 百度OCR 公司发票智能处理系统的技术实践(附完整源码)
  • Maven 多模块项目调试与问题排查总结
  • 2、结合STM32CubeMX学习FreeRTOS实时操作系统——任务
  • 半导体行业中的专用标准产品ASSP是什么?
  • 探秘Flink维表:从源码到运行时的深度解析
  • Java面试复习指南:并发编程、JVM、Spring框架、数据结构与算法、Java 8新特性
  • 人机融合智能 | 人智交互的神经人因学方法
  • 【ARM 嵌入式 编译系列 7.5 -- GCC 打印链接脚本各段使用信息】
  • Java面试复习:基础、并发、JVM及框架核心考点解析
  • AI辅助编程工具技术评估(2025年):CodeBuddy在开发者生态中的差异化优势分析
  • 【达梦数据库】忘记SYSDBA密码处理方法-已适配
  • 图像处理基础篇
  • 麒麟系统上设置Firefox自动化测试环境:指定Marionette端口号
  • 纯血HarmonyOS5 打造小游戏实践:扫雷(附源文件)
  • 电脑的虚拟内存对性能影响大吗
  • 深入理解JavaScript设计模式之迭代器模式
  • Docker部署prometheus+grafana+...
  • 【论文阅读35】-PINN review(2021)
  • 华为云 Flexus+DeepSeek 征文|增值税发票智能提取小工具:基于大模型的自动化信息解析实践
  • 虚拟 DOM 与 Diff 算法:现代前端框架的核心机制
  • [3-01-02].第15节:调优工具 - 查看 SQL 执行成本
  • 编程捏脸系统:从美术资源到实时变形的深度实现
  • 系统规划与管理师(第2版)第9章思维导图发布
  • STM32HAL库 -- 9.IIC通信 软件IIC与硬件IIC驱动0.96寸OLED屏幕
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • GO 语言学习 之 代码风格