为了让超级用户访问我的朋友编辑了他的/etc/passwd文件,将 UID 和 GID 更改为0,因为他在某处读取它应该与 root 相同。
然后,当他尝试使用命令 with 时,sudo他开始收到一条消息unknown user 1000 who are you。
我自己并没有使用多少 Linux。我尝试编辑 GRUB 参数以作为 root 输入,但我无法编辑该passwd文件。我什至无法添加新用户,因为passwd无法写入文件。
现在,当他在 GRUB 菜单中选择 Ubuntu 时,他只能选择来宾登录。如何解决这个问题?
启动计算机并按Left Shift进入 grub 菜单并选择Advanced Options for Ubuntu:
在以下菜单中选择Ubuntu,使用 Linux xx.xx.x-xx-generic(恢复模式):
注意:我在此处放置了小 x 作为内核版本号,所以不要混淆,在我的系统上,因为它是 17.10,它是 4.13.0-16,但在您的系统上这可能会有所不同。
然后系统将启动到以下屏幕,您应该选择启用网络开始。它提示您需要以读写模式重新挂载文件系统,您需要允许这样做。
注意:这一步更容易,因为从命令行将驱动器重新安装为读写
之后您将返回到此选择。现在您可以选择进入root shell。按Return一次最终以 root 身份进入可写文件系统。
现在输入以下内容:
cd /etc
nano passwd
Run Code Online (Sandbox Code Playgroud)
在编辑器中导航到最后一行并恢复更改。该行应如下所示:
username:x:1000:1000:username,,,:/home/username:/bin/bash
Run Code Online (Sandbox Code Playgroud)
username你的用户名在哪里。
完成更改后,按ctrl+x退出程序,然后会要求您确认是否要写入,您应该按此操作y,最后会要求您输入要保存到的名称。在那里您无需更改任何内容,只需按Return。
作为最终命令输入:
reboot
Run Code Online (Sandbox Code Playgroud)
这应该可以解决您的问题。玩得开心!
注意:啊,在我忘记之前,告诉你的朋友不要让他的手指接触系统,除非他真的知道自己在做什么。:)