我在 aws ec2 中使用以下命令创建了一个用户:
ubuntu$ sudo adduser --disabled-password user1
根据以下指示:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html
在我以 user1 身份通过 ssh 登录后(首先创建 .ssh,添加身份验证密钥等),我尝试使用以下命令 su 到 root(我知道 root 的密码):
user1$ su -
我收到提示:
[sudo] user1 的密码:
我尝试只按下回车键,因为我首先使用 --disabled-password 创建了 user1,但是出现了身份验证错误。
在我使用过的其他所有 Linux/Unix 系统中,如果拥有 root 的密码,我始终能够仅使用其他任何用户的“su”或“su -”切换到 root 用户,而无需输入切换前的帐户密码。
有什么办法可以恢复吗?当
adduser 命令中使用 --disabled-password 选项时,是否会因为某种原因而分配一些默认密码?
由于某种原因,我不再能够通过 ssh 进入“ubuntu”帐户。
另外,我确实通过 AMI 控制面板创建了用户 1,并下载了访问密钥和秘密访问密钥 ID。这些有用吗?谢谢。
答案1
您无法使用su
Ubuntu 中的 root 用户身份(除非您启用它,但不建议这样做)。您应该使用sudo
:
默认情况下,Ubuntu 中的 Root 帐户密码是锁定的。这意味着您无法直接以 Root 身份登录或使用 su 命令成为 Root 用户。但是,由于 Root 帐户物理存在,因此仍然可以以 root 级权限运行程序。这就是 sudo 的作用所在 - 它允许授权用户(通常是“管理员”用户;有关更多信息,请参阅 AddUsersHowto)以 Root 身份运行某些程序,而无需知道 root 密码。
这意味着在终端中您应该使用 sudo 来执行需要 root 权限的命令;只需将 sudo 添加到您通常以 Root 身份运行的所有命令的前面即可。
参考:https://help.ubuntu.com/community/RootSudo
回答您的最后一个问题,IAM 用户与 OS 用户没有任何关系。