简介
您应该知道如何在全新的Linux服务器上执行的最基本任务之一是添加和删除用户。当您创建一个新系统时,通常(例如在DigitalOcean水滴上)在默认情况下只给您根 帐户。
虽然以超级用户 的身份运行会给您带来很大的权力和灵活性,但它也是危险的,可能具有破坏性。添加一个额外的非特权用户来执行常见任务几乎总是一个更好的主意。您还应该为您的系统上可能拥有的任何其他用户创建其他帐户。每个用户都应该有不同的帐户。
您仍然可以通过名为sudo
的机制在需要时获取管理员权限。在本指南中,我们将介绍如何创建用户帐户、分配sudo
权限和删除用户。
如何添加用户
如果您以超级用户 用户身份登录,则可以随时通过键入以下命令来创建新用户:
1adduser newuser
如果您以非超级用户身份登录,并且已被授予sudo
权限,如图所示在初始服务器设置guide,中,您可以通过键入以下命令来添加新用户:
1sudo adduser newuser
不管是哪种情况,你都会被问到一系列问题。程序如下:
- 为新用户分配并确认密码
- 输入有关新用户的任何其他信息。 这是完全可选的,如果您不想使用这些字段,可以通过点击 ** Enter 跳过。
- 最后,您将被要求确认您提供的信息是正确的。 输入 ** Y 继续。
您的新用户现在可以使用了!您现在可以使用您设置的密码登录。
<$>[注] 注意 :如果您需要新用户访问管理功能,请继续。 <$>
如何为用户授予SUDO权限
如果您的新用户应该能够以超级用户(管理)权限执行命令,则需要授予新用户对sudo
的访问权限。我们来看看解决这个问题的两种方法:将用户添加到预定义的sudo
user group,以及在sudo
‘S配置中按用户指定权限。
将新用户添加到SUDO组
默认情况下,Ubuntu 16.04系统上的sudo
被配置为将完全权限扩展到sudo 组中的任何用户。
您可以使用groups
命令查看您的新用户所在的组:
1groups newuser
1[secondary_label Output]
2newuser : newuser
默认情况下,新用户仅位于其自己的组中,该组在创建帐户时创建,并与该用户共享一个名称。要将用户添加到新组中,可以使用usermod
命令:
1usermod -aG sudo newuser
这里的-aG
选项告诉usermod
将该用户添加到列出的组中。
测试您的用户的sudo权限
现在,您的新用户可以使用管理权限执行命令。
以新用户身份登录后,您可以以常规用户身份通过正常键入命令来执行命令:
1some_command
通过在命令前键入sudo
,您可以使用管理权限执行相同的命令:
1sudo some_command
系统将提示您输入您登录的常规用户帐户的密码。
在/etc/sudoers中指定显式用户权限
除了将您的用户放到sudo 组中,您也可以使用visudo
命令,该命令会在系统的默认编辑器中打开一个名为/etc/sudoers
的配置文件,并针对每个用户显式指定权限。
修改/etc/sudoers
时,唯一推荐的方法是使用visudo
,因为它会锁定文件,防止同时进行多次编辑,并在覆盖文件之前对其内容进行健全性检查。这有助于防止您错误配置sudo
并因失去sudo
权限而无法修复问题的情况。
如果您当前以根用户 身份登录,请键入:
1visudo
如果您使用具有sudo
权限的非超级用户登录,请键入以下内容:
1sudo visudo
传统上,visudo
会在vi
编辑器中打开/etc/sudoers
,这可能会让新手感到困惑。默认情况下,在新的Ubuntu安装上,它应该使用Nan
,这提供了更熟悉的文本编辑体验。使用箭头键移动光标,并搜索如下所示的行:
1[label /etc/sudoers]
2root ALL=(ALL:ALL) ALL
在这一行下面,复制你在这里看到的格式,只修改单词root
来引用你想授予sudo权限的新用户:
1[label /etc/sudoers]
2root ALL=(ALL:ALL) ALL
3newuser ALL=(ALL:ALL) ALL
您应该为每个应该被授予完全sudo权限的用户添加如下所示的新行。完成后,您可以先按Ctrl-X ,然后按** Y** ,然后按** Enter** 确认,即可保存并关闭文件。
如何删除用户
如果您不再需要用户,最好删除旧帐户。
您可以删除用户本身,而不删除他们的任何文件,通过以root身份键入以下内容:
1deluser newuser
如果您以另一个具有sudo权限的非超级用户身份登录,则可以改为键入:
1sudo deluser newuser
相反,如果要在删除用户时删除用户的主目录,则可以以超级用户身份发出以下命令:
1deluser --remove-home newuser
如果您以具有sudo权限的非超级用户身份运行此命令,则应改为键入:
1sudo deluser --remove-home newuser
如果您之前已为已删除的用户配置了sudo权限,则可能需要通过键入以下命令再次删除相关行:
1visudo
或者,如果您是具有sudo权限的非超级用户,请使用以下命令:
1sudo visudo
1root ALL=(ALL:ALL) ALL
2newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
这将防止使用相同名称创建的新用户意外地被授予sudo权限。
结论
现在,您应该已经很好地掌握了如何在Ubuntu16.04系统中添加和删除用户。有效的用户管理将允许您将用户分开,并仅为他们提供执行其工作所需的访问权限。
有关如何配置sudo
的更多信息,请查看我们的如何编辑sudoers file]指南。