介绍
欢迎来到用户账户创建实验(User Account Creation lab)。在任何多用户操作系统(如 Linux)中,管理用户账户是一项基本的管理任务。它涉及为新用户创建账户、设置他们的密码、授予他们适当的权限,以及在不再需要时删除账户。
在这个实验中,你将获得关于用户账户完整生命周期的实践经验。你将学习并使用以下基本命令:
useradd: 用于创建新的用户账户。passwd: 用于设置或更改用户密码。usermod: 用于修改现有用户账户,例如将其添加到组中。su: 用于切换到另一个用户账户。userdel: 用于删除用户账户。
完成本实验后,你将熟练掌握在 Linux 系统上执行基本的用户管理任务。
使用 useradd -m newuser 命令创建用户
在这一步,你将创建一个名为 newuser 的新用户账户。我们将使用 useradd 命令,它是 Linux 系统上添加用户的标准工具。
这里的 -m 选项至关重要。它告诉 useradd 创建用户的家目录(home directory),该目录通常是 /home/username。如果没有此选项,用户将被创建但没有家目录,这可能会导致问题。
由于创建用户是一项管理操作,你必须在命令前加上 sudo。在这个 LabEx 环境中,你可以无需密码使用 sudo。
在终端中执行以下命令来创建用户:
sudo useradd -m newuser
命令执行后,如果成功,你将看不到任何输出。为了验证用户家目录是否已创建,你可以列出 /home 目录的内容:
ls /home
你应该会在输出中看到 newuser 目录,以及默认用户 labex 的家目录。
labex newuser
使用 passwd newuser 命令设置密码
现在 newuser 账户已经存在,它需要一个密码。没有密码,用户将无法登录。我们将使用 passwd 命令来设置一个。
与 useradd 类似,为其他用户设置密码需要管理员权限,因此你必须使用 sudo。
运行以下命令。系统会提示你输入新密码,然后再次确认输入。对于本实验,你可以使用一个简单的密码,例如 password。请注意,出于安全原因,当你输入密码时,屏幕上不会显示任何内容。
sudo passwd newuser
终端会提示你输入两次密码。在你正确输入两次后,你将看到一条确认消息。
New password:
Retype new password:
passwd: password updated successfully
newuser 账户现在已设置密码并受到保护,可以使用了。
使用 usermod -aG sudo newuser 命令将用户添加到 Sudo 组
在这一步,你将授予 newuser 管理员权限。在 Ubuntu 和其他基于 Debian 的系统上,这通常是通过将用户添加到 sudo 组来实现的。该组的成员可以使用 sudo 执行命令。
我们将使用 usermod 命令,它用于修改用户的账户详细信息。
-a(append,追加) 选项用于将用户添加到组中,而不会将其从其他组中移除。-G(groups,组) 选项指定要将用户添加到的组,在本例中是sudo。
运行以下命令将 newuser 添加到 sudo 组:
sudo usermod -aG sudo newuser
为了验证 newuser 现在是 sudo 组的成员,你可以使用 groups 命令:
groups newuser
输出将显示 newuser 所属的所有组。你应该在列表中看到 sudo。
newuser : newuser sudo
使用 su - newuser 命令切换用户
现在是时候测试新账户了。你可以使用 su (substitute user,切换用户) 命令从你当前的 labex 用户切换到 newuser。
- 标志很重要。它为新用户启动一个登录 shell (login shell),这意味着环境将像 newuser 直接登录一样设置。这包括将当前目录更改为用户的家目录 (/home/newuser) 并加载其 shell 配置文件。
运行以下命令切换到 newuser。系统会提示你输入在步骤 2 中设置的密码。
su - newuser
输入密码后,你的终端提示符会改变,表明你现在已作为 newuser 登录(你可能会在主机名中看到一个容器 ID)。你可以使用 whoami 命令确认这一点:
whoami
输出应该是:
newuser
为了测试你授予的 sudo 权限,尝试使用 sudo 运行一个命令。系统会提示你输入该用户的密码:
sudo whoami
输入密码后,此命令应该输出 root,确认 newuser 可以执行管理任务。
[sudo] password for newuser:
root
完成后,输入 exit 返回到你原来的 labex 用户会话。
exit
使用 userdel -r newuser 命令删除用户
用户账户生命周期的最后一步是删除。当不再需要某个账户时,你应该将其移除,以维护系统的安全和整洁。userdel 命令用于此目的。
在 userdel 中使用 -r 选项是一个良好的实践。此选项会删除用户账户本身以及用户的家目录和邮件存储区 (mail spool)。如果省略 -r,用户的相关文件将保留在系统上。
由于这是一项管理任务,你需要使用 sudo。运行以下命令以完全删除 newuser 及其所有相关文件:
sudo userdel -r newuser
此命令可能会产生关于未找到邮件存储区 (mail spool) 的警告信息(在容器化环境中这是正常的)。为了验证用户已被删除,你可以再次检查 /home 目录的内容。
ls /home
你将看到 newuser 目录已经消失了。
labex
这确认了用户账户及其家目录已被成功移除。
总结
恭喜你完成了本次实验 (lab)!你已成功执行了 Linux 用户账户管理的基本任务。
在本次实验中,你学习了如何:
- 使用
useradd -m创建新用户,确保同时创建了家目录。 - 使用
passwd命令设置用户密码以启用登录。 - 通过使用
usermod -aG将用户添加到sudo组来授予管理权限。 - 使用
su -切换到其他用户的会话,以测试账户及其权限。 - 使用
userdel -r完全删除用户及其家目录。
这些命令是任何 Linux 系统上用户管理的基础。掌握它们是成为熟练的 Linux 管理员的关键一步。



