/etc/passwd 被破坏了,有什么办法可以修复吗?

/etc/passwd 被破坏了,有什么办法可以修复吗?

我是个菜鸟。我正在摆弄树莓派,试图掌握它。我玩得很开心。

我现在不知道如何使用 vim。我知道需要按 i 键才能插入文本,但我对完成操作的命令知之甚少。

Raspberry pis 会以名为 pi 的用户启动您。还有 root 用户。我试图更新 root 用户的密码,以便我可以登录 root 用户而不是 pi。

因为我不知道如何使用 vim,所以我不小心用 8 之类的数字覆盖了 root 用户分隔数据的冒号之一。我当时就想,我需要离开这里!:wq“等一下……不!那肯定意味着写完就放弃!”

有什么方法可以修复此问题吗?否则我只能重新安装操作系统。

我几乎可以肯定,像这样使用 root 是个糟糕的主意,但不管怎样。我不会为了任何重要的事情这样做。我只是在闲逛和学习教训。我想看看它是否允许我添加另一个用户,因为我一直收到带有“pi”的限制消息。

答案1

您的台式电脑上有 Linux 吗?

在开始使用 Rasperry Pi 之前,您已在 SD 卡上写入了一个映像(如 raspbian)。此映像中也有文件/etc/passwd

因此首先你必须从下载的图像中提取原始密码文件:

sudo kpartx -av raspbian.raw # setup loopback and mapper block devices
sudo mount /dev/mapper/loop0p1 /mnt # mount partition to /mnt
sudo cp /mnt/etc/passwd ~/passwd # copy passwd to home

然后使用终端或图形用户界面挂载 SD 卡。之后,您可以将原始passwd文件复制到 SD 卡:

sudo cp ~/passwd /media/username/mmc/etc/passwd # copy passwd to sdcard
sync # flush buffers

现在您可以将 SD 卡重新插入树莓派并重试。

请注意,这kpartx是一个特殊工具,Ubuntu 上没有默认安装,你必须使用以下命令安装它

apt-get install kpartx

相关内容