用户将根目录移至子目录,或尝试这样做,导致机器无响应

用户将根目录移至子目录,或尝试这样做,导致机器无响应

我的一个特别的用户无意中运行了一条命令来移动如下文件:

mv /* /home/ubuntu/GS14K/

这导致了一系列错误:

mv: 无法移动/bin' to/home/ubuntu/GS14K/bin':权限被拒绝

mv: 无法移动/boot' to/home/ubuntu/GS14K/boot':权限被拒绝

mv: 无法移动/dev' to/home/ubuntu/GS14K/dev':权限被拒绝

正如您所希望的那样,但是随后出现了这个错误:

mv: 无法移动/mnt' to/home/ubuntu/GS14K/mnt':设备或资源繁忙

mv: 无法移动/proc' to/home/ubuntu/GS14K/proc':设备或资源繁忙

然后 SSH 停止工作,他无法重新进入。我也不能,也无法访问该盒子。

这是一台 AWS VM,所以我强制停止并重新启动,但机器无法重新启动。我承认机器可能已经死机,但我很想知道原因可能是什么。

编辑:我在 Ububtu 上运行这个程序,当时用户没有 root 权限,所以我很好奇他如何运行这个命令来做这样的事情。

答案1

这是因为,如果您的启动设备是磁盘,那么 BIOS 将期望启动加载程序存在于磁盘的 MBR 中,它将尝试从启动加载程序配置中指定的设备位置加载内核。最有可能的是 /boot/kernel-image,现在您已将所有内容移至 /home/,启动加载程序将不再找到内核映像。同样,在 grub 的情况下,启动加载程序分 2 个阶段加载,第一阶段将在 MBR 中,第二阶段将再次在设备位置指定,因此很有可能甚至启动加载程序的第二阶段都不会加载

你可以阅读更多这里

答案2

由于机器停止响应重启发生了,我不确定移动内核映像是原因。首先,用户不应该访问此文件,否则整个系统的安全都会受到威胁:只需创建一个修补的内核映像即可当您调用 wait4() 时为您提供 root 访问权限然后重新启动。

您的这个特殊用户能否授予自己永久访问 中的某些系统配置文件的权限/etc?删除其中几个文件很容易中断启动过程,还会损坏正在运行的系统。

如果没有细节,很难给出更准确的答案。例如,当您说“SSH 停止工作”时,您是指活动会话被强制关闭,还是用户注销并尝试重新登录?当您说“机器不会恢复”时,究竟发生了什么?控制台上有任何消息,还是什么都没有?

最后,你需要检查文件系统以查看哪些文件丢失。没有官方消息来源可以说明某个用户究竟是如何自毁前程的。

相关内容