我使用 Ubuntu 安装程序在我的 32 位机器上安装了 Ubuntu 12.10,并在提示时输入了密码(帐户名为“samsung”)。后来,我能够使用该密码登录、锁定/解锁、身份验证等。(我猜那是因为我当时是管理员)。但现在,我错误地将帐户类型从“管理员”更改为“标准”,并且每当它在任何过程中需要身份验证时(例如连接到 Wi-Fi、解锁我的用户帐户),它都会要求我输入 root 密码,但不幸的是,相同的密码不起作用。除身份验证之外的任务(如登录等)工作正常。我多次更改密码,但没有解决方案。如果我在终端中使用“sudo”,它会显示“samsung 不在 sudoers 文件中。将报告此事件。”我该如何重新获得控制权?
答案1
Ubuntu 默认情况下没有用户密码root
。
如果你把自己锁在系统之外,
启动机器时,在 grub 启动菜单中选择“恢复模式”。如果您没有看到启动菜单,则可能需要在 BIOS 阶段后的几秒钟内按下 Shift。
这将为您提供根访问权限,并有权授予您的常规用户帐户其管理权限。
启用¹上的写访问
/
。mount -o remount,rw /
添加
admin
到您的帐户群组。usermod -a -G admin [account name]
重新启动,一切都会恢复正常。
¹ 我不确定 Ubuntu 12.10 的恢复模式是否挂载根文件系统还是仅仅挂载 initramfs。
答案2
我认为最好的方法是编辑 sudoers 文件。为此,您必须从 Ubuntu-USB-Stick 或 CD 或任何其他可启动的 Live Linux 启动系统(也许 Ubuntu 恢复模式也可以,但还没有用过),挂载安装 Ubuntu 的分区,然后编辑文件/etc/sudoers
。如果您输入类似的内容,
samsung ALL=NOPASSWD: ALL
您可以在重启后无需任何密码即可获得 root 权限。还有很多其他可能性,但我认为这是最简单的。
答案3
如果你确实设置了 root 密码(据我所知,Ubuntu 默认情况下不要求输入密码),你可以init=/bin/sh
在启动时将其添加到你的 linux 命令行中(查看 grub2 文档了解如何操作),然后运行passwd
以更改 root 密码或将你的用户添加到Ubuntu 中用于授予 sudo 的samsung
组或其他组sudo
如果未设置密码,您可以直接启动到恢复模式 - 启动后它会显示您的 root shell,您可以从该 shell 执行任何您想做的事情(将您的用户添加到组或更改 root 密码)
答案4
以单用户模式启动。然后直接以 root 身份登录。按照以下步骤以单用户模式登录系统。此模式下没有网络可用。要启动到单用户模式,请编辑要启动的 GRUB 菜单项的启动说明,并添加内核参数/选项 single。以下是有关如何执行此操作的简要说明。
选择(突出显示)要使用的 GRUB 启动菜单项。按 e 编辑所选启动菜单项的 GRUB 启动命令。在命令列表底部附近查找类似以下内容的行
linux /boot/vmlinuz-3.2.0-24-generic root=UUID=bc6f8146-1523-46a6-8b\
6a-64b819ccf2b7 ro quiet splash
initrd /boot/initrd.img-3.2.0-24-generic
通过将内核启动参数 single 添加到行尾(即 ro quiet splash 之后)来更改 (3) 中的中间一行。
For this example you would change
6a-64b819ccf2b7 ro quiet splash
to
6a-64b819ccf2b7 ro quiet splash single
按 Ctrl+X 或 F10 使用这些内核选项进行启动。
注意:这些更改不是永久性的。通过这种方式对内核启动选项所做的任何更改都只会影响下一次启动,并且只有在您仍处于 GRUB 编辑模式时按 Ctrl+X 或 F10 启动该启动时才会影响。
然后,您将以 root 身份登录到终端窗口。您可以使用命令更改密码。
[root@localhost ~]# passwd root
Changing password for user root.
New password: