EC2 – ROOT 和 SUDO 不起作用

EC2 – ROOT 和 SUDO 不起作用

我已经设置了一个 EC2 实例(PHP、MySQL、phpMyAdmin)。

昨晚我不小心执行了一些弄乱权限的命令。

我可以像root以前一样登录(使用 puTTy 到 ssh),但是现在当我尝试使用 登录时,root出现错误,提示以 身份登录ec2-user而不是root

现在,如果我使用 登录ec2-user并执行sudo。我收到错误sudo: effective uid is not 0, is sudo installed setuid root?。当我尝试使用su或登录时su root。我收到Password:并且我没有设置任何密码,默认密码NO PASSWORD也不起作用。

现在,我无法授予权限sudoroot因为sudo它已损坏,并且我无法登录来root更改权限,因为它要求输入密码。

我该如何解决这个问题?

答案1

听起来运行的命令是修改 OS 文件的 chmod 或 chown 命令(“sudo:有效 uid 不为 0,sudo 是否安装了 setuid root?”)。这可能是递归 (-R) 更改或 * 更改。

因此,修复所有损坏的东西往往是不值得的。

我会:

  1. 对与您的实例关联的每个卷进行快照。
  2. 从每个快照创建一个卷。
  3. 将这些卷附加到新实例。
  4. 安装它们。
  5. 从损坏的服务器查看根的历史记录以了解发生了什么。
  6. 备份所有数据(网站目录、数据库文件等)
  7. 创建一个新实例来接管损坏的旧实例。
  8. 还原到新实例。
  9. 删除旧实例。
  10. 关闭用于安装从快照创建的卷的实例。
  11. 等待几天以确保一切正常。
  12. 小心地删除不再使用的卷、快照和实例。

还要研究弹性 IP、Chef、SaltStack 和定期自动快照(小心,如​​果做错了,可能会代价高昂。)

相关内容