如何在Ubuntu20.04上添加和删除用户

来自菜鸟教程
跳转至:导航、​搜索

介绍

在 Linux 系统上添加和删除用户是您熟悉的最重要的系统管理任务之一。 创建新系统时,通常默认情况下您只能访问 root 帐户。

在以 root 用户身份运行时,您可以完全控制系统及其用户,但它也很危险并且可能具有破坏性。 对于常见的系统管理任务,最好添加一个非特权用户并在没有 root 权限的情况下执行这些任务。 您还可以为系统上可能拥有的任何其他用户创建额外的非特权帐户。 系统上的每个用户都应该有自己的单独帐户。

对于需要管理员权限的任务,Ubuntu 系统上安装了一个名为 sudo 的工具。 简而言之,sudo 允许您以其他用户的身份运行命令,包括具有管理权限的用户。 在本指南中,您将学习如何创建用户帐户、分配 sudo 权限以及删除用户。

先决条件

要完成本教程,您需要访问运行 Ubuntu 20.04 的服务器。 确保您对服务器具有 root 访问权限并启用防火墙。 要进行此设置,请遵循我们的 Ubuntu 20.04 初始服务器设置指南。

或者,您可以使用浏览器中的交互式终端来试验本教程中的命令。 您可以通过单击下面的 Launch an Interactive Terminal! 按钮来启动一个:

启动交互式终端!

添加用户

如果您以 root 用户身份登录,则可以通过运行以下命令随时创建新用户:

adduser newuser

如果您以被授予 sudo 权限的非 root 用户身份登录,则可以使用以下命令添加新用户:

sudo adduser newuser

无论哪种方式,您都需要回答一系列问题:

  • 为新用户分配并确认密码。
  • 输入有关新用户的任何其他信息。 这是可选的,如果您不想使用这些字段,可以按 ENTER 跳过。
  • 最后,系统会要求您确认您提供的信息是否正确。 按 Y 继续。

您的新用户现在可以使用了,可以使用您输入的密码登录。

如果您需要新用户具有管理权限,请继续下一部分。

授予用户 Sudo 权限

如果您的新用户应该能够以 root(管理)权限执行命令,则您需要授予新用户对 sudo 的访问权限。 让我们研究一下完成这项任务的两种方法:首先,将用户添加到预定义的 sudo 用户组 ,其次,在 [ 中为每个用户指定权限X179X]的配置。

将新用户添加到 Sudo 组

默认情况下,Ubuntu 20.04 系统上的 sudo 配置为将完全权限扩展到 sudo 组中的任何用户。

您可以使用 groups 命令查看新用户所在的组:

groups newuser
Outputnewuser : newuser

默认情况下,新用户仅在他们自己的组中,因为 adduser 除了创建用户配置文件外,还会创建此组。 用户和它自己的组共享相同的名称。 为了将用户添加到新组,您可以使用 usermod 命令:

usermod -aG sudo newuser

-aG 选项告诉 usermod 将用户添加到列出的组中。

请注意 usermod 命令本身需要 sudo 权限。 这意味着,如果您以 root 用户或已添加为 sudo 组。 在后一种情况下,您必须在此命令前加上 sudo,如下例所示:

sudo usermod -aG sudo newuser

/etc/sudoers 中指定显式用户权限

作为将您的用户放入 sudo 组的替代方法,您可以使用 visudo 命令,该命令在系统的默认编辑器中打开一个名为 /etc/sudoers 的配置文件,并显式为每个用户指定权限。

使用 visudo 是对 /etc/sudoers 进行更改的唯一推荐方法,因为它会锁定文件以防止多个同时编辑,并在覆盖文件之前对其内容执行验证检查。 这有助于防止您错误配置 sudo 并且由于失去 sudo 权限而无法解决问题的情况。

如果您当前以 root 身份登录,请运行以下命令:

visudo

如果您以具有 sudo 权限的非 root 用户身份登录,请使用 sudo 前缀运行相同的命令:

sudo visudo

传统上,visudovi 编辑器中打开 /etc/sudoers,这对于没有经验的用户可能会感到困惑。 默认情况下,在新安装的 Ubuntu 上,visudo 将使用 nano 文本编辑器,它提供了更方便和易于访问的文本编辑体验。 使用箭头键移动光标,然后搜索如下所示的行:

/etc/sudoers

root    ALL=(ALL:ALL) ALL

在此行下方,添加以下突出显示的行。 请务必将 newuser 更改为您要授予 sudo 权限的用户配置文件的名称:

/etc/sudoers

root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

为每个应该被赋予完全 sudo 权限的用户添加这样的新行。 完成后,按 CTRL + X 保存并关闭文件,然后按 Y,然后按 ENTER 确认。

测试用户的 Sudo 权限

现在您的新用户能够以管理权限执行命令。

以新用户身份登录后,您可以通过正常输入命令以普通用户身份执行命令:

some_command

您可以通过在命令前键入 sudo 以管理权限执行相同的命令:

sudo some_command

执行此操作时,系统将提示您输入您登录时使用的常规用户帐户的密码。

删除用户

如果您不再需要用户,最好删除旧帐户。

您可以通过以 root 身份运行以下命令来删除用户本身,而不删除他们的任何文件:

deluser newuser

如果您以具有 sudo 权限的另一个非 root 用户身份登录,您将使用以下内容:

sudo deluser newuser

相反,如果您想在删除用户时删除用户的主目录,则可以以 root 的身份发出以下命令:

deluser --remove-home newuser

如果您以具有 sudo 权限的非 root 用户身份运行此命令,则可以使用 sudo 前缀运行相同的命令:

sudo deluser --remove-home newuser

如果您之前为您删除的用户配置了 sudo 权限,您可能需要再次删除相关行:

visudo

如果您是具有 sudo 权限的非 root 用户,或者使用以下命令:

sudo visudo

/etc/sudoers

root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # DELETE THIS LINE

这将防止以相同名称创建的新用户被意外授予 sudo 权限。

结论

您现在应该对如何在 Ubuntu 20.04 系统中添加和删除用户有了相当好的了解。 有效的用户管理将允许您分离用户并仅授予他们完成工作所需的访问权限。

有关如何配置 sudo 的更多信息,请查看我们关于 如何编辑 sudoers 文件 的指南。