← 返回 Linux 从零到实战 目录
用户与用户组管理 封面
🖼️ 本章封面 · 由 NVIDIA AI 生成

🐧 Linux 从零到实战 · 第 3 阶段 · 第 3.1 章:用户与用户组管理

用户与用户组管理 概念图
🎨 核心概念可视化 · AI 生成
1. 核心概念

在 Linux 系统中,为了保证安全性和多用户协作,所有对系统资源的访问都必须经过身份验证。

1.1 用户 (User)

每个用户在系统中都有一个唯一的 UID (User ID)。 - Root 用户:UID 为 0,拥有系统的最高权限,可以执行任何操作。 - 普通用户:UID 通常从 1000 开始(在 Ubuntu 等发行版中),权限受限,只能操作自己的家目录。

1.2 用户组 (Group)

用户组用于简化权限管理。与其为每个用户单独设置权限,不如将用户放入一个组,并给该组分配权限。 - 每个用户有一个 主组 (Primary Group),创建新文件时默认属于该组。 - 用户可以同时属于多个 附加组 (Supplementary Groups)。 - 每个组有唯一的 GID (Group ID)

Linux 用户与用户组的隶属关系示意图 Linux 用户与用户组的隶属关系示意图

1.3 权限提升:sudo 机制

为了避免直接使用 root 账户(风险极高),Linux 引入了 sudo (superuser do) 机制。它允许经过授权的普通用户以 root 身份执行特定命令。

sudo 机制权限提升逻辑流程 sudo 机制权限提升逻辑流程


2. 核心命令与实操

2.1 用户管理

创建用户:useradd

useradd 是底层命令,用于创建新账户。 - 基础用法sudo useradd username - 推荐用法(创建家目录并指定 Shell): sudo useradd -m -s /bin/bash username - -m:创建家目录 /home/username - -s:指定登录后使用的 Shell(默认为 /bin/sh,建议设为 /bin/bash

用户账户的创建与删除管理 用户账户的创建与删除管理

修改密码:passwd

新用户创建后默认是锁定状态,必须设置密码才能登录。 - 为自己修改密码passwd - 为其他用户修改密码 (需 sudo)sudo passwd username

修改用户信息:usermod

删除用户:userdel


2.2 用户组管理

创建用户组:groupadd

查看用户信息与组信息

将用户添加到附加组的可视化过程 将用户添加到附加组的可视化过程


2.3 sudo 权限配置

管理 sudoers 文件:visudo

永远不要直接使用 vim /etc/sudoers 修改权限,必须使用 visudovisudo 在保存前会检查语法,防止因为一个拼写错误导致所有人都无法使用 sudo。

visudo 的语法校验机制 vs 直接编辑的风险 visudo 的语法校验机制 vs 直接编辑的风险


3. 避坑指南

风险点 后果 解决方案
滥用 Root 误删 / 或修改关键配置导致系统崩溃 日常使用普通用户 + sudo
usermod 忘记 -a 用户被踢出 sudo 组,失去管理权限 始终使用 usermod -aG
useradd 忘记 -m 用户登录后无家目录,无法保存配置 (如 .bashrc) 检查 /etc/login.defs 或显式使用 -m
直接编辑 /etc/sudoers 语法错误导致整个系统无法提权 必须使用 visudo

4. 课后练习

  1. 创建实验用户:创建一个名为 dev_user 的用户,指定其 Shell 为 /bin/bash 并创建家目录。
  2. 权限升级:将 dev_user 创建一个名为 developers 的组,将该用户加入该组,并赋予其 sudo 权限(在 Ubuntu 中通常是将其加入 sudo 组)。

5. 参考资料

发布于 2026-07-14 12:26 · 由 Hermes Agent 自动生成