第 22 课 - 用户管理基础
1. 学习目标
完成本课学习后,你将能够:
- 理解 Linux 中用户账户的核心概念和相关配置文件。
- 掌握 使用
useradd命令创建新用户,并为其设置密码。 - 学会 查看、修改和删除用户账户。
2. 核心概念
在 Linux 系统中,一切皆文件,用户也不例外。一个用户账户本质上是一组配置信息,决定了“谁”可以登录系统以及“如何”与系统交互。我们可以把用户管理想象成给公司的每个员工办理门禁卡。
- 用户名 (Username):用户的登录名称,如
zhangsan。 - 用户 ID (UID):系统内部标识用户的唯一数字。普通用户通常从
1000开始。 - 组 ID (GID):用户所属的“主组”的数字标识。我们会在下一课详解。
- 家目录 (Home Directory):用户的个人工作区,如
/home/zhangsan。用户登录后默认会进入此目录。 - 登录 Shell:用户登录后执行的命令解释器,通常是
/bin/bash。它像一个翻译官,把用户的命令翻译给内核执行。
这些信息都记录在系统的关键文件 /etc/passwd 中。你可以用 cat /etc/passwd 查看。它的每一行代表一个用户,格式如下:
用户名:密码占位符:UID:GID:注释:家目录:登录Shell
例如:zhangsan:x:1001:1001:张三:/home/zhangsan:/bin/bash
3. 代码示例
# 1. 创建一个新用户
# 最简单的创建用户命令,系统会使用默认值(如自动创建家目录,分配UID等)
sudo useradd lisi
# 为新用户 `lisi` 设置密码。系统会提示你输入并确认密码。
sudo passwd lisi
# 输出类似:
# Changing password for user lisi.
# New password:
# BAD PASSWORD: The password is shorter than 8 characters
# Retype new password:
# passwd: all authentication tokens updated successfully.
# 2. 使用更详细的选项创建用户
# -g 指定主组 (此处为 `users` 组,需要先存在)
# -s 指定登录shell
# -m 确保创建家目录 (默认行为)
# -c 添加注释信息
sudo useradd -g users -s /bin/bash -m -c "技术部经理" wangwu
sudo passwd wangwu
# 3. 查看用户信息
# 使用 id 命令查看用户的 UID、GID 及其所属的所有组
id lisi
# 输出类似:
# uid=1001(lisi) gid=1001(lisi) groups=1001(lisi)
# 使用 grep 查看 /etc/passwd 中特定用户的信息
grep ‘wangwu‘ /etc/passwd
# 4. 查看用户登录历史(用于验证用户创建和登录是否成功)
# last 命令显示系统用户最近的登录列表
last
# 5. 删除用户
# 使用 -r 选项可以同时删除用户的家目录和邮件池
sudo userdel -r lisi
4. 实践练习
练习一:基础创建
创建一个名为 developer 的用户,并为其设置一个安全的密码。完成后,使用 id developer 命令确认用户已创建。
- 预期输出:
id命令能成功显示developer用户的 UID 和 GID 信息。
练习二:完整创建
创建一个用户 webadmin,要求如下:
- 登录 Shell 设置为
/bin/sh。 - 添加注释信息 “Web服务器管理员”。
- 确保为其创建了家目录
/home/webadmin。 创建完成后,检查/etc/passwd和家目录是否存在。
- 预期输出:
/etc/passwd中对应行包含/bin/sh和注释,并且ls -ld /home/webadmin显示该目录存在。
练习三:清理与确认
假设你误操作创建了一个用户 testuser,现在需要安全地将其删除,包括其个人文件。请执行删除操作,并验证 /etc/passwd 文件和 /home/ 目录下已无该用户相关条目。
- 预期输出:使用
grep testuser /etc/passwd无输出,且/home/testuser目录不存在。
5. 常见错误
- 忘记使用
sudo:创建、修改、删除用户都需要 root 权限。不加sudo会报 “Permission denied”。 - 创建后未设置密码:使用
useradd创建的用户是锁定状态,无法登录。必须立即使用passwd为其设置密码。 - UID 冲突:使用
-u选项手动指定 UID 时,如果该 UID 已被其他用户占用,会导致创建失败。通常让系统自动分配即可。 - 忘记
-r选项删除家目录:使用userdel 用户名只删除账户信息,而/home/username目录会残留。养成使用userdel -r 用户名的习惯。
6. 小结
本课我们学习了 Linux 用户管理的基础:
- 用户是配置:用户信息存储在
/etc/passwd等文件中,包含 UID、家目录、Shell 等关键属性。 - 创建与设置:核心命令是
useradd和passwd。useradd用于创建用户,passwd用于设置或修改密码。 - 查看与删除:使用
id、grep等命令查看用户信息,使用userdel命令删除用户。 - 权限是前提:所有用户管理操作都需要 root 权限(
sudo)。
记住,一个功能完整的用户 = 正确的账户信息(useradd) + 有效的密码(passwd)。在下一课中,我们将深入学习用户组,这是权限管理的另一块重要基石。
练习编辑器
rust
Loading...