迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

详细介绍 Ubuntu 18.04 系统上如何添加和删除用户

作者:迹忆客 最近更新:2023/01/08 浏览次数:

在 Linux 系统上添加和删除用户是我们需要熟悉的最重要的系统管理任务之一。 当创建一个新系统时,通常默认情况下只能访问 root 帐户。

虽然以 root 用户身份运行可以让我们完全控制系统及其用户,但它也很危险并且可能具有破坏性。 对于常见的系统管理任务,最好添加一个非特权用户并在没有 root 权限的情况下执行这些任务。 还可以为系统上可能拥有的任何其他用户创建额外的非特权帐户。 系统上的每个用户都应该有自己的单独帐户。

对于需要管理员权限的任务,Ubuntu 系统上安装了一个名为 sudo 的工具。 简而言之,sudo 允许我们以其他用户的身份运行命令,包括具有管理权限的用户。 在本篇文章中,将了解如何创建用户帐户、分配 sudo 权限和删除用户。

添加用户

如果以 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 并且由于失去 sudo 权限而无法解决问题的情况。

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

$ visudo

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

$ sudo visudo

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

/etc/sudoers

root    ALL=(ALL:ALL) ALL

在此行下方,添加以下突出显示的行。 请务必将 newuser 更改为要授予 sudo 权限的用户配置文件的名称:

/etc/sudoers

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

/etc/sudoers

root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # 删除这一行

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

总结

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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Ubuntu 中重置 MySQL root 密码

发布时间:2023/05/09 浏览次数:70 分类:MySQL

本篇文章介绍了我们需要在 Ubuntu 中重置 MySQL root 密码的两种情况。 第一,当我们忘记了root密码,想要重新设置; 其次,当我们无法使用 mysql_secure_installation 设置 root 密码时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便