目录

一、为什么说用户和组是运维的 “基本功”?

二、先搞懂:用户与组的核心概念

三、用户组管理命令(格式 + 示例)

1. 创建用户组

2. 查看用户组

3. 删除用户组

四、用户管理基础命令(格式 + 示例)

1. 创建用户

2. 设置 / 修改用户密码

3. 查看用户信息

五、附属组成员管理(格式 + 示例)

1. 将用户加入附属组

2. 从组内移除用户

六、用户信息修改命令(格式 + 示例)

1. 修改用户名

2. 修改用户家目录(改名后必做)

七、锁定与解锁用户命令(格式 + 示例)

1. 锁定用户(禁止密码登录)

2. 解锁用户

八、切换用户命令(格式 + 示例)

1. 完整切换用户(推荐)

2. 不推荐的用法

九、删除用户命令(格式 + 示例)

1. 彻底删除用户(连带家目录)


一、为什么说用户和组是运维的 “基本功”?

        在 Linux 系统里,用户和组是权限管控的第一道关卡,也是每个运维、开发、测试人员必须掌握的基础技能。不管是:
                给新同事创建账号
                为项目配置共享目录
                锁定离职员工账号
                清理废弃用户
都离不开用户与组的管理操作。
        很多新手容易在「主组 / 附属组」「锁定 / 禁用」「su 切换」上踩坑,本文把从创建到删除的完整流程全部拆解,命令直接复制就能用,新手也能一次看懂。

二、先搞懂:用户与组的核心概念

  • 用户:系统中用来登录、执行操作的身份,每个用户有唯一的 UID、家目录、默认 Shell
  • 用户组:分为「主组」和「附属组」,主组是用户默认所属组,附属组用于多用户协作、权限共享
  • 核心配置文件:
    • /etc/passwd:所有用户信息
    • /etc/group:所有组信息
    • /etc/shadow:用户密码、锁定状态

三、用户组管理命令(格式 + 示例)

1. 创建用户组

命令格式

groupadd [选项] 组名

常用选项

  • -g GID:指定组 ID(GID),企业中常用此方式规范管理
  • -r:创建系统组(GID < 1000)

示例

# 1. 普通创建组devgroup 
groupadd devgroup

# 2. 指定GID=2020创建组devgroup(推荐,方便后续统一管理) 
groupadd -g 2020 devgroup

2. 查看用户组

命令格式

cat /etc/group | grep 组名

示例

# 查看所有组信息
cat /etc/group

# 只查看 devgroup 组的信息
grep devgroup /etc/group

3. 删除用户组

命令格式

groupdel 组名

示例

# 删除 devgroup 组
groupdel devgroup

四、用户管理基础命令(格式 + 示例)

1. 创建用户

命令格式

useradd [选项] 用户名

常用选项

  • -m:自动创建用户家目录
  • -G 组名:将用户加入附属组
  • -s Shell路径:指定用户登录 Shell(如 /bin/bash)

useradd --help可查看

示例

# 1. 创建用户 dev1,并自动创建家目录
useradd -m dev1

# 2. 创建用户 dev2,同时加入附属组 devgroup
useradd -m -G devgroup dev2

2. 设置 / 修改用户密码

命令格式

passwd [用户名]

示例

# 1. root 修改用户 dev1 的密码
passwd dev1

# 2. 普通用户修改自己的密码(无需加用户名)
passwd

3. 查看用户信息

命令格式

id [用户名]

示例

# 查看用户 dev1 的UID、GID和所属组
id dev1

五、附属组成员管理(格式 + 示例)

1. 将用户加入附属组

命令格式

gpasswd -a 用户名 组名

示例

# 将用户 dev1 加入附属组 devgroup
gpasswd -a dev1 devgroup

2. 从组内移除用户

命令格式

gpasswd -d 用户名 组名

示例

# 将用户 dev1 从 devgroup 组中移除
gpasswd -d dev1 devgroup

六、用户信息修改命令(格式 + 示例)

1. 修改用户名

命令格式

usermod -l 新用户名 旧用户名

示例

# 将用户 dev1 改名为 dev100
usermod -l dev100 dev1

2. 修改用户家目录(改名后必做)

命令格式

usermod -d /home/新家目录路径 用户名

示例

# 1. 先重命名家目录
mv /home/dev1 /home/dev100

# 2. 更新用户配置中的家目录路径
usermod -d /home/dev100 dev100

七、锁定与解锁用户命令(格式 + 示例)

1. 锁定用户(禁止密码登录)

命令格式

usermod -L 用户名

# 或

passwd -l 用户名

示例

# 锁定用户 dev3,禁止其密码登录
usermod -L dev3

注:passwd -l 只锁密码登录,root 用户仍可通过 su - 切换到该用户

2. 解锁用户

命令格式

usermod -U 用户名

# 或

passwd -u 用户名

示例

# 解锁用户 dev3,恢复其密码登录权限
usermod -U dev3

八、切换用户命令(格式 + 示例)

1. 完整切换用户(推荐)

命令格式

su - 用户名

示例

# 切换到 dev100 用户,并加载完整环境变量
su - dev100

2. 不推荐的用法

❌ su 用户名:只切换身份,不加载用户环境变量,会导致命令找不到、路径错乱。


九、删除用户命令(格式 + 示例)

1. 彻底删除用户(连带家目录)

命令格式

userdel -r 用户名

示例

# 删除用户 dev2,并同时删除其家目录 /home/dev2
userdel -r dev2

        用户与组管理是 Linux 运维的「基本功」,看似简单,却是后续文件权限、服务权限管控的基础。从创建、配置、修改到锁定、删除,完整流程练熟了,不管是课堂实训、面试刷题还是企业实操都能轻松应对。

        多动手敲命令,把主组 / 附属组、锁定 / 禁用这些概念吃透,Linux 基础就稳了一大半!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐