第一部分:用户组管理命令(2 个)
1.groupadd- 创建新用户组
作用:新建一个用户组(用于批量管理用户权限)标准语法
groupadd [选项] 组名核心必记选项
| 选项 | 作用 |
|---|---|
-g GID | 手动指定组 ID(不写则系统自动分配) |
-r | 创建系统组(GID<1000,给服务用,如 mysql/nginx) |
实操示例
# 1. 创建普通组:ttet(你之前用到的组) groupadd ttet # 2. 创建指定GID=1008的开发组dev groupadd -g 1008 dev # 3. 创建系统组(用于服务) groupadd -r nginx使用场景新部门成立、新权限分组时,先建组,再把用户加入组。
2.groupdel- 删除用户组
作用:删除已存在的用户组标准语法
groupdel 组名⚠️ 重要注意事项
- 不能删除用户的主组(必须先把用户主组修改后,才能删)
- 删除组不会删除用户,仅回收组权限
实操示例
# 删除测试组test groupdel test使用场景部门解散、项目下线,删除无用组,回收权限。
第二部分:用户管理命令(3 个)
3.useradd- 创建新用户
作用:新建系统用户(员工账户 / 服务账户)标准语法
useradd [选项] 用户名核心必记选项(高频)
表格
| 选项 | 作用 |
|---|---|
-g 组名 | 指定用户主组(唯一,创建文件默认归属) |
-G 组名 | 指定用户附加组(可多个,用逗号分隔) |
-s /bin/bash | 设置可登录 Shell(普通员工用) |
-s /sbin/nologin | 设置不可登录(服务专用,如 mysql) |
-r | 创建系统用户(UID<1000,服务专用) |
实操示例
# 1. 创建普通用户zhangsan,主组=ttet,可登录 useradd -g ttet -s /bin/bash zhangsan # 2. 创建服务用户mysql,不可登录 useradd -r -s /sbin/nologin mysql # 3. 创建用户lisi,主组dev,附加组ttet useradd -g dev -G ttet -s /bin/bash lisi使用场景新员工入职、部署服务时创建专用用户。
4.userdel- 删除用户
作用:删除系统用户标准语法
userdel [选项] 用户名核心必记选项
表格
| 选项 | 作用 |
|---|---|
-r | 彻底删除(用户 + 家目录 + 邮件,最常用) |
-f | 强制删除(用户正在登录也能删) |
实操示例
# 彻底删除用户zhangsan(推荐,无残留) userdel -r zhangsan # 仅删除用户,保留家目录(不推荐) userdel lisi使用场景员工离职、账户废弃,回收服务器权限。
5.usermod- 修改用户信息(核心:改用户组)
作用:修改已有用户的属性(修改用户组是最常用功能)标准语法
usermod [选项] 用户名🔥 最核心、最易混的组选项(必背)
表格
| 选项 | 作用 |
|---|---|
-g 新组名 | 修改用户主组(唯一) |
-aG 组名 | 追加附加组(保留原有组,推荐!) |
-G 组名 | 覆盖附加组(清空原有所有附加组,慎用) |
实操示例
# 1. 给用户lisi 追加附加组ttet(保留原有组,最常用) usermod -aG ttet lisi # 2. 修改用户lisi的主组为dev usermod -g dev lisi使用场景员工调岗、临时给用户加权限、修改用户登录 Shell。
第三部分:信息查看命令(3 个)
6.id- 查看单个用户信息
作用:快速查看用户的 UID、主组、所有附加组标准语法
id [用户名] # 不写用户名=查看当前登录用户输出解释
id lisi # 输出:uid=1001(lisi) gid=1008(dev) groups=1008(dev),1009(ttet)uid:用户 IDgid:主组 IDgroups:所有所属组(主组 + 附加组)
使用场景权限报错时,快速核对用户属于哪些组。
7.getent passwd- 查看系统所有用户
作用:查看系统全部用户的详细信息(比cat /etc/passwd更通用)标准语法
getent passwd # 查看所有用户 getent passwd 用户名 # 查看单个用户详情输出格式(7 个字段,用:分隔)
lisi:x:1001:1008::/home/lisi:/bin/bash- 用户名 2. 密码占位符 3. UID 4. GID (主组) 5. 备注 6. 家目录 7. 登录 Shell
使用场景审计系统用户、排查闲置账户、确认用户配置。
8.getent group- 查看系统所有用户组
作用:查看系统全部用户组的详细信息标准语法
getent group # 查看所有组 getent group 组名 # 查看单个组详情输出格式(4 个字段,用:分隔)
ttet:x:1009:lisi,zhangsan- 组名 2. 密码占位符 3. GID 4.附加组成员(主组成员不显示)
使用场景核对组内用户、排查权限问题、审计系统组。
🔥 终极速查表(一键记忆)
表格
| 命令 | 核心功能 | 必记关键点 |
|---|---|---|
groupadd | 建组 | -r系统组,-g指定 GID |
groupdel | 删组 | 不能删用户主组 |
useradd | 建用户 | -g主组,-G附加组,-s指定 Shell |
userdel | 删用户 | -r彻底删除(含家目录) |
usermod | 改用户 | -aG追加附加组(最常用) |
id | 查单个用户 | 看 UID/GID/ 所属组 |
getent passwd | 查所有用户 | 7 个字段,看用户配置 |
getent group | 查所有组 | 4 个字段,看组内成员 |
总结
- 组管理:
groupadd建组 /groupdel删组 - 用户管理:
useradd建用户 /userdel -r删用户 /usermod -aG加组 - 查看信息:
id查单个用户 /getent查全部用户 / 组 - 所有命令严格区分大小写,递归 / 修改操作遵循 Linux 通用规则