由于 /home 权限而被锁定在 EC2 ubuntu 实例之外

由于 /home 权限而被锁定在 EC2 ubuntu 实例之外

我向孩子们展示了一些有关 EC2 Ubuntu 实例上的目录权限的基本知识,然后做了这个

$ sudo chmod 700 /home

然后证明我无法再cd进入我的主目录,因为权限被拒绝。

然后我无意中与 EC2 实例断开连接。现在我无法重新登录,因为 ubuntu 端的 sshd 无法访问我的/home/ubuntu/.ssh/authorized_keys文件。我试过想办法,但没有什么办法。

我准备删除并重新创建整个实例,但如果可能的话,我更愿意挽救这个实例。有什么想法吗?!

答案1

按照蒂姆的建议:

我点击Launch Instance创建一个新实例。我只需选择第一个 AMI 所列的内容(某个 Amazon 版本的 Linux),然后使用我手头已有的密钥对,按照默认设置创建它即可。

然后我点击Volumes并从我的主机上分离了 EBS 卷。这大约花了 30 秒。然后我选择Attach Volume并将其附加到新实例/dev/sdf。然后我ssh进入新实例。

在新实例中我输入

$ sudo mkdir /caribou
$ sudo mount /dev/sdf1 /caribou
$ cd /caribou
$ sudo chmod 755 home

这修复了/home目录权限。

然后我回到 EC2 控制台,从 Amazon 实例中分离 EBS 卷,并将其重新附加到我原来的 Ubuntu 实例/dev/sda1。然后我启动了旧实例并登录,一切都已修复。

花了 30 分钟(包括弄清楚以上所有内容的时间)。感谢 Tim。

答案2

我不确定 EC2 是否有这个选项(它应该有),但如果你还没有完全禁用 root 登录,那么通过 EC2 网站在你的实例上打开一个控制台会话,以 root 身份登录,恢复可读权限,你就应该没问题了。

相关内容