不小心移动了 sudoers 文件

不小心移动了 sudoers 文件

我不小心将 /etc/sudoers 移至文档。我需要将其移回 /etc,但我不能,因为我需要 sudo 才能移动文件...

sudo mv Documents/sudoers /etc

sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

答案1

更新 2 - 如果您使用的是树莓派:

关闭电源并将 SD 卡从 Pi 中拔出并将其放入计算机中。

打开文件cmdline.txt并添加init=/bin/sh到末尾或对于较新的版本:systemd.unit=emergency.target。 (更新2)。这将导致机器启动到单用户模式。

将 SD 卡放回 Pi 并启动。

当出现提示时,键入su以 root 身份登录(无需密码)。

mv sudoers-newname sudoers

关闭机器,然后再次拉出卡,并通过移除钻头或将cmdline.txt文件恢复原状。init=/bin/sh对于较新的版本:systemd.unit=emergency.target.(更新2)

(适用于 sudoers 删除的文本来自此处:http://mapledyne.com/ideas/2015/8/4/reset-lost-admin-password-for-raspberry-pi

旧答案:

如果您有 root 密码,只需发出“su”,但如果您没有 root 密码,请使用居住cd、dvd 或 pendrive 即可将文件再次移回。

仅使用 su 即可:

#su 
Password: Type root password 

通过 Live-CD 打开终端并:

$ sudo fdisk -l (to get a list of partitions)

您将看到 Linux 安装的分区,如下所示:

/dev/sda1   *                 2048 1936918527 1936916480  923,6G 83 Linux

因此,如果您的情况也是 /dev/sda1,只需

sudo -i
mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
mv /mnt/sda1/etc/sudoers-newname /mnt/sda1/etc/sudoers 
cd /
umount /mnt/sda1 

如果你的Linux安装在多个分区中,只需尝试一个一个地挂载,直到找到正确的分区或包含etc文件的分区。

这就对了。重启。

答案2

启动到单用户模式以将文件移回其所属位置是解决此问题的方法,对于普通 PC 来说也是最简单的方法。

但在本例中,文件系统位于 SD 卡上。您只需要一个读卡器,如果您想修改启动选项,并使用它将 SD 卡连接到运行 Linux 的常规 PC,也需要该读卡器。如果您的 PC 上还没有 Linux,请获取任何 Linux Live CD。然后将文件系统挂载到卡上,并将文件移动到正确的位置。

相关内容