如果 /usr/bin/* 的所有者变为非 root 该怎么办?

如果 /usr/bin/* 的所有者变为非 root 该怎么办?

说我搞砸了才对!

不小心,我将 /usr/bin 中所有文件的所有者从“root”更改为“dev”。现在,sudo 不起作用了!如果我将 sudo 与任何命令一起使用,我会得到 -

sudo: effective uid is not 0, is sudo installed setuid root?

我无法使用chown命令将所有者更改回“root”。这是一个重大挫折!

由于这是虚拟机,我无法访问故障恢复控制台。事实上,即使该reboot命令也需要用户具有“root”访问权限。

专家们,请帮助我控制操作系统而无需重新映像。

谢谢!

PS-可能是复制但重新发布他的解决方案是重新开始。

更多信息 -

su - root总是说密码错误。不幸的是,其所有者su也是“dev”。

我可以使用 GUI 创建一个新用户。它接受了 root 密码。如何在不使用 visudo 的情况下授予新用户 root 访问权限。

答案1

物理安全就是安全。您有三个选择:

  1. 从控制台或通过 ssh 以 root 身份登录。
  2. 以单用户模式启动,传统上不需要 root 密码(但可能在您的系统上)。
  3. 从另一个操作系统挂载磁盘映像。

其中任何一个都使您能够更改磁盘上任何文件的所有权。如果您不可以选择其中任何一个,那么您就不走运,但您也无法控制:其他事情(不是错误)可能会发生,需要控制台访问。

答案2

如果不启动虚拟机并模仿您的情况,我无法确定什么,但我可能会做的是,如果您可以有一个文件作为虚拟机的外部介质,则启动 Live CD/USB 发行版( Knoppix,或默认的 archiso,或 Gentoo 安装 CD,或 Porteus),然后执行一些操作,例如使用损坏的 /usr/bin 挂载文件系统(也许使用cd /; mkdir /backup; cp /mnt/centos/usr/bin /backup,复制您要保存的二进制文件以及chown -hR 0 /backup; chmod 755它们或您选择的任何文件) /usr/bin 的权限是,然后删除 /usr/bin仅有的损坏的东西(如果要修复的文件系统安装在/mnt/centos,则用于最后一条指令的命令将是rm -r /mnt/centos/usr/bin),那么“And”行中的某些内容cp /backup /mnt/centos/usr/bin可能会起作用。不过,暂时不要这样做,因为我还没有启动虚拟机来测试这一点。如果你不能使文件充当外部可启动介质,那么我认为您需要在备份要保存的所有文件后重新安装。我希望这个答案对你有好处。

相关内容