介绍
在Linux系统上添加和删除用户是熟悉的最重要的系统管理任务之一。 创建新系统时,默认情况下通常只能访问root帐户。
以root用户身份运行时,您可以完全控制系统及其用户,但这也很危险并且可能具有破坏性。 对于常见的系统管理任务,最好添加无特权的用户并在没有root权限的情况下执行这些任务。 您还可以为系统上的任何其他用户创建其他非特权帐户。 系统上的每个用户都应该拥有自己独立的帐户。
对于需要管理员权限的任务,在Ubuntu系统上安装了一个名为sudo
的工具。 简而言之, sudo
允许您以另一个用户身份运行命令,包括具有管理权限的用户。 在本指南中,我们将介绍如何创建用户帐户,分配sudo
权限以及删除用户。
先决条件
要遵循本指南,您需要:
- 访问运行Ubuntu 18.04的服务器。 确保您具有服务器的root访问权限。 要进行此设置,请按照我们的Ubuntu 18.04初始服务器设置指南进行操作 。
添加用户
如果您以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
传统上, visudo
在vi
编辑器中打开了/etc/sudoers
,这对于没有经验的用户来说可能会让人感到困惑。 默认情况下,在新的Ubuntu安装中, visudo
将使用nano
,它提供了更方便和可访问的文本编辑体验。 使用箭头键移动光标,并搜索如下所示的行:
root ALL=(ALL:ALL) ALL
在此行下方,添加以下突出显示的行。 请务必将newuser
更改为您要授予sudo
权限的用户配置文件的名称:
root ALL=(ALL:ALL) ALLnewuser 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) ALLnewuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
这将阻止使用相同名称创建的新用户被意外地赋予sudo
权限。
结论
您现在应该可以很好地处理如何在Ubuntu 18.04系统中添加和删除用户。 有效的用户管理将允许您分离用户,并仅为他们提供完成工作所需的访问权限。
有关如何配置sudo
更多信息,请查看我们的指南, 了解如何在此处编辑sudoers文件 。