【问题标题】:How do I find the password for root user in EC2 instance?如何在 EC2 实例中找到 root 用户的密码?
【发布时间】:2023-11-22 21:37:01
【问题描述】:

我的服务器上的某些权限被破坏,我无法使用sudo。所以我需要做su 并更改权限,但是当我做su 时,我被要求输入密码。我从来没有为 root 用户设置过密码……我在哪里可以找到密码?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 root sudo su


    【解决方案1】:

    我注意到,大多数 AMI 都不在其 root 用户上使用密码。

    您最好的选择是分离您的 EBS 文件系统并将其挂载到另一个实例上,以便您可以进入并修复 authorized_keys 文件或 /etc/sudoers 或任何适合解决您的问题的文件。修复后,您可以卸载并分离它,然后将其重新附加到您的旧实例,以便它再次安装为 /。

    有关如何访问文件系统以修复问题的信息,请参阅此答案:

    Add Keypair to existing EC2 instance

    【讨论】:

      【解决方案2】:

      检查/etc/passwd。第二个冒号分隔的字段是密码。

      但是,密码很可能已加密(表示为 x),这意味着它将在 /etc/shadow 中作为加密值,您需要获得权限才能查看它。权限旨在完全阻止您想要做的事情(即升级权限),但这些是您可以在您的实例上找到该信息的位置。

      【讨论】:

      • 除其他外,它有这一行:root:x:0:0:root:/root:/bin/bash... 这是什么意思
      • 对,正如我所说,'x'表示密码已加密,其加密版本将在/etc/shadow文件中。您也许可以直接阅读其内容,但您将得到的只是密码的加密版本。不知道还能做什么。