简介
在Linux系统上添加和删除用户是需要熟悉的最重要的系统管理任务之一。当您创建新系统时,默认情况下,您通常只有根 帐户的访问权限。
当以超级用户 的身份运行时,您可以完全控制系统及其用户,但这也很危险,甚至可能具有破坏性。对于常见的系统管理任务,最好添加一个非特权用户并在没有** 超级用户** 权限的情况下执行这些任务。您还可以为系统上可能拥有的任何其他用户创建其他非特权帐户。系统上的每个用户都应该有自己的单独帐户。
对于需要管理员权限的任务,Ubuntu系统上安装了一个名为sudo
的工具。简单地说,sudo
允许您以其他用户的身份运行命令,包括具有管理权限的用户。在本指南中,您将学习如何创建用户帐户、分配sudo
权限和删除用户。
前提条件
要完成本教程,您需要访问运行Ubuntu18.04的服务器。确保您有超级用户 访问服务器的权限,并启用了防火墙。要进行此设置,请遵循我们的Ubuntu 18.04.初始服务器设置指南
添加用户
如果您以超级用户 的身份登录,您可以随时通过运行以下命令来创建新用户:
1adduser newuser
如果您是以拥有sudo
权限的非根 用户身份登录,则可以使用以下命令添加新用户:
1sudo adduser newuser
无论采用哪种方式,您都需要回答一系列问题:
- 为新用户分配并确认密码。
- 输入有关新用户的任何其他信息。这是可选的,如果您不希望使用这些字段,可以通过按
ENTER
键跳过。 - 最后,您将被要求确认您提供的信息是正确的。按
Y
继续。
您的新用户现在可以使用了,并且可以使用您输入的密码登录。
如果您需要新用户具有管理权限,请继续下一节。
为用户授予sudo权限
如果您的新用户应该能够以根用户 (管理)权限执行命令,则需要为新用户授予对sudo
的访问权限。我们来看看两种方法:一是将用户添加到预定义的** sudo** User group,]中;二是在sudo
‘S配置中按用户指定权限。
将新用户添加到SUDO组
默认情况下,Ubuntu 18.04系统上的sudo
被配置为将FULL权限扩展到sudo 组中的任何用户。
您可以使用groups
命令查看您的新用户所在的组:
1groups newuser
1[secondary_label Output]
2newuser : newuser
默认情况下,新用户只在他们自己的组中,因为adduser
除了用户配置文件之外还创建了这个组。用户及其自己的组共享相同的名称。要将用户添加到新组中,可以使用usermod
命令:
1usermod -aG sudo newuser
-aG
选项告诉usermod
将用户添加到列出的组中。
请注意,usermod
命令本身需要sudo
权限。这意味着只有当您以根用户 的身份登录,或者作为其他已被添加为sudo
组成员的用户登录时,您才能将用户添加到sudo
组。在后一种情况下,您必须在此命令前加上sudo
,如下例所示:
1sudo usermod -aG sudo newuser
在/etc/sudoers
中指定显式用户权限
除了将用户放在 sudo 组中,您还可以使用visudo
命令,该命令在系统的默认编辑器中打开一个名为/etc/sudoers
的配置文件,并显式地指定每个用户的权限。
修改/etc/sudoers
时,唯一推荐的方式是使用visudo
,因为它会锁定文件,防止同时进行多次编辑,并在覆盖文件之前对其内容进行验证检查。这有助于防止因为您丢失了sudo
权限而导致sudo
配置错误并无法修复问题的情况。
如果您当前以根用户 身份登录,请运行以下命令:
1visudo
如果您以拥有sudo
权限的非根 用户身份登录,请运行带有sudo
前缀的相同命令:
1sudo visudo
传统上,visudo
会在vi
编辑器中打开/etc/sudoers
,这可能会让新手感到困惑。在新的Ubuntu安装中,默认情况下,visudo
将使用Nan
文本编辑器,这将提供更方便和可访问的文本编辑体验。使用箭头键移动光标,并搜索如下所示的行:
1[label /etc/sudoers]
2root ALL=(ALL:ALL) ALL
在此行下方,添加以下突出显示的行。请务必将newuser
更改为您要授予sudo
权限的用户配置文件的名称:
1[label /etc/sudoers]
2root ALL=(ALL:ALL) ALL
3newuser ALL=(ALL:ALL) ALL
为每个应该被授予完全sudo
权限的用户添加如下所示的新行。完成后,按CTRL+X
保存并关闭文件,然后按Y
,然后按Enter
确认。
测试您的用户的sudo权限
现在,您的新用户可以使用管理权限执行命令。
以新用户身份登录后,您可以以常规用户身份通过正常键入命令来执行命令:
1some_command
您可以使用管理权限执行相同的命令,方法是在命令前键入sudo
:
1sudo some_command
在执行此操作时,系统将提示您输入登录时所用的常规用户帐户的密码。
删除用户
如果您不再需要用户,最好删除旧帐户。
您可以通过以根用户身份 运行以下命令来删除用户本身,而不删除其任何文件:
1deluser newuser
如果您以另一个具有sudo
权限的非根 用户身份登录,您将使用以下内容:
1sudo deluser newuser
如果您希望在删除用户时删除用户的主目录,则可以以根用户身份 发出以下命令:
1deluser --remove-home newuser
如果您以具有sudo
权限的非根 用户身份运行此命令,则需要运行带有sudo
前缀的相同命令:
1sudo deluser --remove-home newuser
如果您之前为您删除的用户配置了sudo
权限,则可能需要再次删除相关行:
1visudo
如果您是拥有sudo
权限的非根用户 ,请使用以下命令:
1sudo visudo
1[label /etc/sudoers]
2root ALL=(ALL:ALL) ALL
3newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
这将防止使用相同名称创建的新用户意外地被授予sudo
权限。
结论
现在,您应该已经很好地掌握了如何在Ubuntu18.04系统中添加和删除用户。有效的用户管理将允许您将用户分开,并仅为他们提供执行其工作所需的访问权限。
有关如何配置sudo
的更多信息,请查看我们的指南如何编辑sudoers file.