在Ubuntu 18.04上添加和删除用户的方法

简介: 在Ubuntu 18.04上添加和删除用户的方法

简介

在 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 newuser
newuser : newuser

默认情况下,新用户只属于自己的组,因为 adduser 会创建此组以及用户配置文件。用户和其自己的组共享相同的名称。为了将用户添加到新组,您可以使用 usermod 命令:

usermod -aG sudo newuser

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

请注意,usermod 命令本身需要 sudo 权限。这意味着只有以 root 用户身份登录或已添加为 sudo 组成员的其他用户才能将用户添加到 sudo 组。在后一种情况下,您将不得不在此命令之前加上 sudo,就像这个例子中一样:

sudo usermod -aG sudo newuser

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

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

使用 visudo 是对 /etc/sudoers 进行更改的唯一推荐方法,因为它锁定文件,防止多个同时编辑,并在覆盖文件之前对其内容进行验证检查。这有助于防止因为失去 sudo 权限而无法解决问题的情况。

如果您当前以 root 用户身份登录,请运行以下命令:

visudo

如果您以获得 sudo 权限的非 root 用户身份登录,请使用 sudo 前缀运行相同的命令:

sudo visudo

传统上,visudo 会在 vi 编辑器中打开 /etc/sudoers,这对于经验不足的用户来说可能会令人困惑。在新的 Ubuntu 安装中,默认情况下,visudo 将使用 nano 文本编辑器,提供更方便和易于访问的文本编辑体验。使用箭头键移动光标,并搜索类似以下内容的行:

root    ALL=(ALL:ALL) ALL

在此行下面添加以下突出显示的行。确保将 newuser 更改为您要授予 sudo 权限的用户配置文件的名称:

root    ALL=(ALL:ALL) ALL
newuser 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) ALL
newuser ALL=(ALL:ALL) ALL   # 删除此行

这将防止以相同名称创建的新用户意外获得 sudo 权限。

结论

现在你应该对如何在 Ubuntu 18.04 系统中添加和删除用户有了相当好的掌握。有效的用户管理将允许你分隔用户,并仅赋予他们完成工作所需的访问权限。

要了解有关如何配置 sudo 的更多信息,请查看我们的有关如何编辑 sudoers 文件的指南。


目录
相关文章
|
8月前
|
Ubuntu Windows
处理ubuntu启动过程中报错error:proc_thermal_add错误的方法
了解以上方法,就像寻找鬼屋出口的吊灯,当初见“error:proc_thermal_add错误”时的恐惧不翼而飞。各位Ubuntu使用者都是勇敢的探险家,遇到的问题无非是丛林中的野兽,尝试、努力和坚持总能找到解决的办法。
225 21
|
8月前
|
存储 运维 Ubuntu
Ubuntu环境下NTP时间同步服务的离线安装方法
以上就是Ubuntu环境下离线安装和配置NTP时间同步服务的全过程。这种有效的操作不仅可为有网络隔离需求的安全重要环境提供参考,同时也能帮助研发、运维人员在同类情况下处理问题。太阳走过万丈高空,而我们通过NTP服务,轻松把握时间,如同手握流沙,控制每一颗时间粒子的行走。
1492 23
|
9月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
236 28
|
9月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
1001 12
|
11月前
|
Ubuntu
Ubuntu下载ISO镜像的方法
步骤 1:访问Ubuntu官方网站 打开浏览器,输入Ubuntu的官方网址:https://cn.ubuntu.com/download/desktop 接着,点击“Ubuntu Desktop”或你需要的Ubuntu版本。
4162 6
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
5445 5
|
Ubuntu 应用服务中间件 网络安全
Ubuntu 22.04环境下为Odoo开启80端口的方法
通过以上步骤,你应该能够在Ubuntu 22.04环境下为Odoo开启80端口。访问你的域名时,Nginx会将请求代理到Odoo,允许你通过80端口访问Odoo应用。
538 1
|
存储 Ubuntu Go
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
222 1
|
存储 Ubuntu Go
在Ubuntu 18.04上安装Go的方法
在Ubuntu 18.04上安装Go的方法
293 1
|
存储 Ubuntu Linux
在Ubuntu 14.04上安装Go 1.6的方法
在Ubuntu 14.04上安装Go 1.6的方法
209 1