用户账户创建

LinuxBeginner
立即练习

介绍

欢迎来到用户账户创建实验(User Account Creation lab)。在任何多用户操作系统(如 Linux)中,管理用户账户是一项基本的管理任务。它涉及为新用户创建账户、设置他们的密码、授予他们适当的权限,以及在不再需要时删除账户。

在这个实验中,你将获得关于用户账户完整生命周期的实践经验。你将学习并使用以下基本命令:

  • useradd: 用于创建新的用户账户。
  • passwd: 用于设置或更改用户密码。
  • usermod: 用于修改现有用户账户,例如将其添加到组中。
  • su: 用于切换到另一个用户账户。
  • userdel: 用于删除用户账户。

完成本实验后,你将熟练掌握在 Linux 系统上执行基本的用户管理任务。

这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 97%。获得了学习者 100% 的好评率。

使用 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 管理员的关键一步。