将 /etc 文件夹移至另一个位置

将 /etc 文件夹移至另一个位置

我将 /etc 文件夹移到了另一个位置。现在当我使用sudo mv命令时,它显示:

sudo: uid 1010 does not exist in the passwd file

有解决办法吗?它通过 ssh 在我的 vps 上发生。格式不是一种选择。(ubuntu VPS)

答案1

这里的问题是,Ubuntu 上用户登录的身份验证方式是使用该/etc/passwd文件。由于该文件丢失...会发生一些糟糕的事情,例如 sudo 不起作用。

如果您在某个地方拥有 root 访问权限(例如您仍处于打开状态的会话),或者您知道如何以 root 身份进入,则可以创建一个symlink新位置(类似于 Windows 上的快捷方式),以便操作系统可以找到该文件。您可以使用以下命令执行此ln操作。语法如下:

ln -s [your new /etc location] /etc

答案2

模因

现在,为了修复当前系统,您可以执行以下操作:

  1. 启动到 Live 环境。

  2. 挂载当前的 Ubuntu 分区:

    sudo mount /dev/sdXY /mnt
    

    将 XY 更改为你当前的 Ubuntu 分区。如果不确定,请从实时环境中启动 Gparted 并查找诸如sda1、、等内容。sda2sda3

  3. 将其复制/etc回原位,/mnt/path/to/moved/etc/mnt/etc 使用复制sudo

  4. 出口。

    sudo reboot
    
  5. 现在,在您启动到已安装的系统后,您可以删除之前移动的/etc文件夹。

答案3

这是你在/etc没有打开具有权限的 shell 的情况下离开时所做的事情:

在此处输入图片描述

图片来源:https://i.stack.imgur.com/syj9u.jpg

... 唯一的解决办法是备份后重置 VPS。抱歉。记住,sudo能力越大,责任越大...

相关内容