linux教程-普通用户组 vs 系统组 作者:马育民 • 2026-09-23 11:33 • 阅读:10002 # 介绍 区分:**GID(组ID)范围**,创建目的不同,权限用途不一样。 ### GID 划分规则 主流发行版:CentOS / Ubuntu / Debian - **系统组(System Group)**:GID 在**0 ~ 999**(有些旧系统是 0~499) - **普通用户组(普通组)**:GID ≥ **1000** > 对应用户UID规则一样:系统用户UID 0~999,普通用户UID≥1000。 ### 查看配置文件 ```bash cat /etc/login.defs ``` 里面这两行定义阈值: ``` SYS_GID_MIN 100 SYS_GID_MAX 999 ``` 意思:**100~999 留给系统账号/组使用**。 # 系统组(System Group) ### 特点 1. GID 0~999 2. **不是给人登录用**,是给系统服务、守护进程使用 3. 安装软件时自动创建:`nginx`、`mysql`、`www-data`、`sshd` 4. 一般**没有家目录,不能登录shell**(`/sbin/nologin`) 5. 作用:服务进程以这个组身份运行,**最小权限原则**,即使服务被入侵,也拿不到root权限 > root组 GID=0,属于系统组。 # 普通用户组(User Group) ### 特点 1. GID ≥1000 2. **人为创建,供真实登录用户使用** 3. 执行 `useradd xxx` 时,默认会自动创建同名组,GID≥1000 4. 可以用来做权限归集:多个用户加入同一个组,共享目录文件权限 > useradd 默认行为:创建用户同时创建同名**普通组**,叫私有用户组。 ## 命令区分演示 ```bash # 查看所有组 cat /etc/group # 创建普通组(默认GID≥1000) groupadd testgroup # 创建系统组(加 -r 参数,自动分配 0~999 的GID) groupadd -r sys_test ``` ✅ `groupadd -r`:`-r` = system,创建**系统组** # 对比表 |项目|系统组|普通用户组| |---|---|---| |GID范围|0~999|≥1000| |创建参数|`groupadd -r`|`groupadd`| |用途|后台服务、进程身份|登录用户,多人共享权限| |创建时机|安装软件自动生成|管理员手动创建| |是否允许人登录|一般不用于登录|供人登录使用| 原文出处:/show_1GW46DrJRocV.html