如何在 VirtualBox 上将自己的帐户设置为 sudoers?

Ale*_*eri 19 root virtualbox sudo permissions ubuntu

我的计算机上安装了 Windows 10。我安装了 Oracle VirtualBox 并使用 Ubuntu 20.04 创建了一台机器。我需要这台计算机的管理权限,但由于某种原因,我无法拥有它们。我读过 Ubuntu 自动创建一个充当管理员的 root 帐户,并且您需要在命令之前使用“sudo”才能以管理员权限运行它。它要求我输入密码,我输入密码,然后系统告诉我我的帐户不是 sudoers,因此将报告该操作。我已经尝试过不同的教程来创建 sudoer 帐户,但它们都要求您已经在使用一个帐户。那么,如何将自己的帐户更改为 sudoers 帐户呢?或者,我如何从零开始创建一个具有这种管理员权限的新 sudoers 帐户(在 Virtual Box 中)?

小智 49

VirtualBox 与这个问题完全相关。

如果您在设置 Ubuntu 时选择让 VirtualBox 自动为您创建第一个用户,就会发生这种情况。第一个用户没有像人们预期的那样添加到 sudoers 中。

要修复它,请进入终端并

  1. 类型su -

这将使您以 root 身份登录。您的提示符应更改为“#” 说明:VirtualBox 自动将 root 密码设置为与您的用户密码相同。这不是很好的行为,但这就是它的作用。

  1. 类型sudo adduser [username] sudo

[username]你的用户名在哪里。这会将您的用户添加到 sudo 用户列表中。

您可能需要重新启动或注销并重新登录以使更改生效。

  • 好的,VirtualBox 7(于 2022 年 10 月发布)添加了无人值守安装 - 这可能就是您所指的。当问题被问到时,这个功能并不存在,我今天早上才知道 VBox 7 是一个东西,所以请原谅我的困惑;)事实上,虚拟机是用一个非 sudoer 用户帐户 + 启用的 root 设置的使用相同密码的帐户。更新我的答案可能是个好主意。 (3认同)
  • 对我来说,没有 root 用户 `su -` 和 `changeme` 也不起作用。自动安装完全损坏。一个只想尝试 Ubuntu/VirtualBox 的用户应该如何看待默认自动安装会带来绝对最糟糕的体验。我花了很长时间才意识到这一切。顺便说一句,我的终端应用程序也没有打开,我不得不使用 tty(或者任何 Ctrl + Alt + F Windows 的名称),这是我尝试了 5 个小时的棺材上的钉子(Mac 上的 VBox,WSL2,现在 Win 中的 VBox) )来更改我的 rbpi 的阴影。感谢您提供有缺陷的自动安装程序的信息 (2认同)
  • 这对我有用。调用 su - 后必须使用用户的密码,而不是 Changeme。 (2认同)
  • 为了澄清 Hirt 的答案,在 VirtualBox 7 中输入“su -”后,我必须输入_我在安装过程中创建的用户_的密码(实际上是我想添加到“sudoers”的用户),而不是“changeme” 。 (2认同)

gro*_*taj 21

Virtualbox 是无关紧要的 - 答案已更新以说明 VirtualBox 7 及其无人值守安装。

Ubuntu 的默认值是:

  • 帐户登录root已被禁用
  • 组成员sudo被授予完全sudo权限
  • 在安装过程中创建用户帐户并将其添加到sudo组中

当您登录该帐户后,您应该能够使用该sudo命令。

然而,VirtualBox 7 默认情况下会启用“无人值守安装”,这对 Ubuntu 的设置有所不同:

  • 已启用 root 帐户登录 - 默认密码为changeme
  • 创建用户帐户 - 默认用户/密码为vboxuser/changeme
  • 用户帐户不是sudoer

Retr0Rob 的答案中描述了摆脱这种情况的简单方法。

下面描述稍微复杂但也更通用的方法。它允许您通过访问 root 帐户使任何用户成为 sudoer,即使该帐户已被禁用。它适用于虚拟机和物理计算机。

机器启动时,立即开始Esc重复按。您应该看到 GRUB 屏幕:

GRUB 屏幕:黑色背景,白色文本,大矩形占据了大部分屏幕。

使用箭头并Enter选择Ubuntu 的高级选项,然后选择Ubuntu, with Linux [...](恢复模式)(从顶部数第二个选项)。你应该看到这样的东西:(尽管旧的 Ubuntu 版本不会那么丰富多彩)

Ubuntu 恢复模式菜单

选择root-Drop to root shell 提示符。执行以下命令添加yourUsername到组中sudo

adduser yourUsername sudo
Run Code Online (Sandbox Code Playgroud)