gpt4 book ai didi

ubuntu - 在根目录下 chmod -R 777 后无法访问 ec2

转载 作者:行者123 更新时间:2023-12-04 18:29:44 24 4
gpt4 key购买 nike

我不小心在我的 Ubuntu ec2 AWS 实例上运行了“sudo chmod -R 777 ./”。之后它把我踢了出去,我不能再连接到实例了,既不能通过 FTP,也不能通过 SSH。您对我如何恢复我的实例有什么建议吗?

最好的
约翰

最佳答案

当你运行 chmod 时,无论你在哪个目录下拥有所有以 . 开头的文件和目录的权限递归地改变。

由于您在运行此命令后整个系统停止工作,我假设您在一个重要的目录中并设法更改了一些基本二进制文件的权限。

结果,它们不再正常运行,导致您的系统无法使用。有三种方法可以从中恢复。你不会喜欢第一个。鉴于您的问题,第二个可能不是一个选项。第三个执行起来真的很烦人。

首先,我建议您删除 EC2 实例并从头开始重新创建它。也许这一次使用像 Ansible 这样的 CaC 工具重新创建您的手动更改。让这在 future 不那么痛苦。 :)

如果这对您不起作用,请从备份或快照中恢复文件系统。你有那些……对吧?啊,不用担心。我以前也去过那里。对于那个很抱歉。

现在,进入恼人的选项。您可以通过停止 EC2 实例并移除 EBS 磁盘来恢复。然后在同一个 Availability Zone 中配置一个新的 EC2 实例和 attach your old disk volume在未使用的挂载点上。启动 EC2 实例,通过 SSH 连接到它,mount the old filesystem , 并手动修复您使用 chmod 递归修改的权限.在此之后,您应该能够停止该实例,将磁盘添加回原始实例,重新打开电源并恢复其状态。

如果您修改了像 /etc/ 这样的大型目录树那么你可能处于非常粗糙的状态。对 Linux 服务器进行任何合理的努力都可能无法恢复。但是,您可能能够探索的另一种可能的解决方案是使用 chroot。 .

按照我上面的步骤将旧文件系统挂载到新的 EC2 实例上。然后将文件系统挂载到新文件系统上的空间并运行 chroot /mnt/old/disk/location .如果您设法更改为您自己的文件系统,那么您有望通过使用 apt-get 自动恢复。重新安装你的包。 apt-get --reinstall install .之后,只需 exit chroot session 并将磁盘附加到您的旧 EC2 实例,然后查看您的位置。

如果您需要更多帮助,请告诉我。我以前不必专门从这种情况中恢复,但我以前使用此过程从 EC2 上 Linux 文件系统上的已损坏根分区中恢复。

关于ubuntu - 在根目录下 chmod -R 777 后无法访问 ec2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60888152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com