编辑 /etc/passwd 将 UID 更改为 0 后,只能以“guest”身份登录

编辑 /etc/passwd 将 UID 更改为 0 后,只能以“guest”身份登录

为了获得超级用户访问权限,我的朋友编辑了他的/etc/passwd文件,将 UID 和 GID 更改为0,因为他在某处读到它应该与 root 相同。

然后,当他尝试使用命令时,sudo他开始收到一条消息unknown user 1000 who are you

我自己很少使用 Linux。我尝试编辑 GRUB 参数以 root 身份进入,但无法编辑该passwd文件。我甚至无法添加新用户,因为passwd无法写入该文件。

现在,当他在 GRUB 菜单中选择 Ubuntu 时,他只能获得访客登录的选项。如何解决这个问题?

答案1

启动电脑,Left Shift按进入grub菜单,选择Ubuntu 的高级选项

选择高级选项

在以下菜单中选择Ubuntu,带有 Linux xx.xx.x-xx-generic(恢复模式)

注意:我在这里用小写 x 表示内核版本号,所以不要混淆,在我的系统上,因为它是 17.10,所以它是 4.13.0-16,但在您的系统上这可能会有所不同。

选择恢复模式

然后系统将启动到以下屏幕,您应该选择启用网络首先。它会提示您需要以读写模式重新挂载文件系统,您需要允许这一点。

注意:此步骤更容易,因为从命令行将驱动器重新安装为读写

启用网络

之后您将返回到此选择。现在您可以选择进入根外壳。按Return一次即可最终以 root 身份进入可写文件系统。

现在输入以下内容:

cd /etc
nano passwd

在编辑器中导航到最后一行并还原更改。该行应如下所示:

username:x:1000:1000:username,,,:/home/username:/bin/bash

你的用户名在哪里username

完成更改后,按ctrl+x退出程序,然后系统会要求您确认是否要写入,按 即可y,最后系统会要求您输入要保存的名称。您无需更改任何内容,只需按 即可Return

作为最终命令输入:

reboot

这应该可以解决你的问题。玩得开心!

注意:啊,在我忘记之前,告诉你的朋友不要把手指放在系统外面,除非他真的知道自己在做什么。:)

相关内容