前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 16.04上添加和删除用户

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

原创
作者头像
一步
修改2018-09-18 16:41:01
5.9K0
修改2018-09-18 16:41:01
举报

介绍

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

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

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

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

如何添加用户

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

代码语言:javascript
复制
adduser newuser

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

代码语言:javascript
复制
sudo adduser newuser

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

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

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

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

如何授予用户Sudo权限

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

将新用户添加到Sudo组

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

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

代码语言:javascript
复制
groups newuser
代码语言:javascript
复制
Output
newuser : newuser

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

代码语言:javascript
复制
usermod -aG sudo newuser

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

测试用户的Sudo权限

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

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

代码语言:javascript
复制
some_command

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

代码语言:javascript
复制
sudo some_command

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

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

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

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

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

代码语言:javascript
复制
visudo

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

代码语言:javascript
复制
sudo visudo

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

代码语言:javascript
复制
root    ALL=(ALL:ALL) ALL

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

代码语言:javascript
复制
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

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

如何删除用户

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

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

代码语言:javascript
复制
deluser newuser

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

代码语言:javascript
复制
sudo deluser newuser

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

代码语言:javascript
复制
deluser --remove-home newuser

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

代码语言:javascript
复制
sudo deluser --remove-home newuser

如果您之前为删除的用户配置了sudo权限,则可能需要键入以下内容再次删除相关行:

代码语言:javascript
复制
visudo

如果您是具有sudo权限的非root用户,请使用此选项:

代码语言:javascript
复制
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》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 如何添加用户
  • 如何授予用户Sudo权限
    • 将新用户添加到Sudo组
      • 测试用户的Sudo权限
        • 在/ etc / sudoers中指定显式用户权限
        • 如何删除用户
        • 结论
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档