![编辑 /etc/passwd 将 UID 更改为 0 后,只能以“guest”身份登录](https://linux22.com/image/1061603/%E7%BC%96%E8%BE%91%20%2Fetc%2Fpasswd%20%E5%B0%86%20UID%20%E6%9B%B4%E6%94%B9%E4%B8%BA%200%20%E5%90%8E%EF%BC%8C%E5%8F%AA%E8%83%BD%E4%BB%A5%E2%80%9Cguest%E2%80%9D%E8%BA%AB%E4%BB%BD%E7%99%BB%E5%BD%95.png)
为了获得超级用户访问权限,我的朋友编辑了他的/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
这应该可以解决你的问题。玩得开心!
注意:啊,在我忘记之前,告诉你的朋友不要把手指放在系统外面,除非他真的知道自己在做什么。:)