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

介绍

您应该知道最基本任务之一是如何在新的Linux服务器上添加和删除用户。当您创建新系统时,您通常(例如在DigitalOcean Droplets上)默认情况下仅提供root帐户。

虽然以root用户身份运行会为您提供强大的功能和灵活性,但它也很危险并且具有破坏性。添加额外的,无特权的用户来执行常见任务几乎总是更好的主意。您还应该为系统上可能拥有的任何其他用户创建其他帐户。每个用户都应该拥有不同的帐户。

当您需要通过调用的机制时,您仍然可以获得管理员权限sudo。在本指南中,我们将介绍如何创建用户帐户,分配sudo权限和删除用户。

要完成本教程,你需要具备一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

如何添加用户

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

adduser newuser

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

sudo adduser newuser

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

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

您的新用户现在可以使用了!您现在可以使用您设置的密码登录。

注意:如果您需要新用户可以访问管理功能,请继续。

如何授予用户Sudo权限

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

将新用户添加到Sudo组

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

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

groups newuser
Output
newuser : newuser

默认情况下,新用户仅在其自己的组中,该组在创建帐户时创建,并与用户共享名称。为了将用户添加到新组,我们可以使用以下usermod命令:

usermod -aG sudo newuser

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

测试用户的Sudo权限

现在,您的新用户可以使用管理权限执行命令。

以新用户身份登录后,您可以像往常一样键入命令,以常规用户身份执行命令:

some_command

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

sudo some_command

系统将提示您输入您登录的常规用户帐户的密码。

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

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

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

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

visudo

如果使用具有sudo权限的非root用户登录,请键入:

sudo visudo

传统上,用visudo命令在编辑器vi中打开/etc/sudoers,这可能会让没有经验的用户感到困惑。默认情况下,在新的Ubuntu安装中,它应该使用nano,这提供了更熟悉的文本编辑体验。使用箭头键移动光标,并搜索如下所示的行:

root    ALL=(ALL:ALL) ALL

在此行下方,复制您在此处看到的格式,仅更改单词“root”以引用您希望为其提供sudo权限的新用户:

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

您应该为每个应该为其提供完全sudo权限的用户添加这样的新行。完成后,可以通过按Ctrl-X,然后按Y,然后按Enter确认来保存和关闭文件。

如何删除用户

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

您可以通过以root身份键入来删除用户本身,而不删除任何文件:

deluser newuser

如果您以另一个具有sudo权限的非root用户身份登录,则可以改为:

sudo deluser newuser

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

deluser --remove-home newuser

如果您以具有sudo权限的非root用户身份运行它,则应输入:

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 16.04系统中添加和删除用户。有效的用户管理将允许您分离用户并仅为他们提供完成工作所需的访问权限。

想要了解更多关于添加和删除用户的相关教程,请前往腾讯云+社区学习更多知识。

参考文献:《How to Add and Delete Users on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小尘哥的专栏

闹心的Broken pipe

80630
来自专栏有困难要上,没有困难创造困难也要上!

Linux上PostgreSQL绿色版安装

31020
来自专栏磨磨谈

cephonebox发布(ceph+calamari集成iso)

现在已经是2016年收官的一个月了,之前一直想做一个calamari的集成版本,之所以有这个想法,是因为,即使在已经打好包的情况下,因为各种软件版本的原因,造成...

9340
来自专栏架构师之路

究竟先操作缓存,还是数据库?

但是,一旦没有命中缓存,或者一旦涉及写操作,流程会比没有缓存更加复杂,这些是今天要分享的话题。

19420
来自专栏岑玉海

批量设置ssh无密码登陆脚本

最近要给集群设置ssh无密码登陆,如果需要手动设置这个无密码登陆,所以在网上找了几个脚本,亲测下面这个好使,并且设置比较简单。 需要用root账户执行,我也是要...

55050
来自专栏好好学习吧

testng执行多个suite

由于testng.xml中只能设置一个<suite>标签,就无法创建多个测试集,通过<suite-files >标签可以实现允许多个测试集。

48010
来自专栏北京马哥教育

如何在一个 U 盘上安装多个 Linux 发行版

30650
来自专栏郭耀华‘s Blog

linux下安装git提示”无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够)“

如图所示,输入命令:apt-get install git后提示权限不够 解决方法,在命令前加 sudo即可 sudo apt-get install git ...

43260
来自专栏信安之路

一步一步带你体验 openvas

openvas 是 nessus 项目的一个开源分支,用于对目标系统进行漏洞评估和管理,openvas 的配置使用相较于 nessus 更加复杂,扫描速度也不如...

17100
来自专栏杨建荣的学习笔记

快速构建文档知识库站点

今天中午花了点时间尝试构建了一个文档知识库小站点,作为一个知识库方案落地的备选。使用的是开源项目Raneto,全面支持markdown的格式。 ? 有些同...

39480

扫码关注云+社区

领取腾讯云代金券