如何在Ubuntu 18.04上添加和删除用户

学习如何有效地管理用户是任何Linux系统管理员的基本技能。在本指南中,我们将讨论如何在Ubuntu 18.04服务器上添加和删除用户以及分配sudo权限。

介绍

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

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

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

先决条件

要遵循本指南,您需要:

添加用户

如果您以root用户身份登录,则可以通过键入以下内容随时创建新用户:

adduser newuser

如果您以已获得sudo权限的非root用户身份登录,则可以通过键入以下内容来添加新用户:

sudo adduser newuser

无论哪种方式,您都会被问到一系列问题。 程序将是:

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

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

如果您需要新用户访问管理功能,请继续下一部分。

授予用户Sudo权限

如果您的新用户应该能够以root(管理)权限执行命令,则需要授予新用户对sudo访问权限。 让我们来看看这个问题的两种方法:将用户添加到预定义的sudo 用户组 ,并在sudo的配置中基于每个用户指定权限。

将新用户添加到Sudo组

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

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

groups newuser
newuser : newuser

默认情况下,新用户仅在其自己的组中, adduser与用户配置文件一起创建。 用户和自己的组共享相同的名称。 为了将用户添加到新组,我们可以使用usermod命令:

usermod -aG sudo newuser

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

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

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

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

如果您当前以root用户身份登录,请键入:

visudo

如果您以具有sudo权限的非root用户身份登录,请键入:

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
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # DELETE THIS LINE

这将阻止使用相同名称创建的新用户被意外地赋予sudo权限。

结论

您现在应该可以很好地处理如何在Ubuntu 18.04系统中添加和删除用户。 有效的用户管理将允许您分离用户,并仅为他们提供完成工作所需的访问权限。

有关如何配置sudo更多信息,请查看我们的指南, 了解如何在此处编辑sudoers文件