Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 Linux 实例上管理用户账户

每个 Linux 实例均使用默认 Linux 系统用户账户启动。默认用户名由启动实例时指定的 AMI 确定。对于 Amazon Linux 2 或 Amazon Linux AMI,用户名称是 ec2-user。对于 CentOS,用户名称是 centos。对于 Debian,用户名称是 adminroot。对于 Fedora,用户名称是 ec2-userfedora。对于 RHEL,用户名称是 ec2-userroot。对于 SUSE,用户名称是 ec2-userroot。对于 Ubuntu,用户名称是 ubuntu。另外,如果 ec2-userroot 无法使用,请与您的 AMI 供应商核实。

注意

Linux 系统用户不应与 AWS Identity and Access Management (IAM) 用户混淆。有关更多信息,请参阅 IAM 用户指南 中的 IAM 用户和组

注意事项

对于许多应用程序来说,使用默认用户帐户是适当的。但是,您可以选择添加用户账户,以便个人能够拥有自己的文件和工作区。此外,为新用户创建用户账户比向多个(可能缺乏经验的)用户授予对默认用户账户的访问权限更安全,因为如果使用不当,该默认用户账户可能对系统造成严重破坏。有关更多信息,请参阅有关保护您的 EC2 实例的提示

要使用 Linux 系统用户账户启用对 EC2 实例的用户 SSH 访问,您必须与用户分享 SSH 密钥。此外,您可以使用 EC2 实例连接来向用户提供访问权限而无需共享和管理 SSH 密钥。有关更多信息,请参阅 使用 EC2 Instance Connect 连接到 Linux 实例

创建用户账户

首先创建用户账户,然后添加允许用户连接并登录实例的 SSH 公有密钥。

先决条件

创建用户账户

  1. 使用 adduser 命令创建用户账户并将其添加到系统(/etc/passwd 文件中会有一个条目)中。该命令还可以为账户创建一个组和一个主目录。在此示例中,用户账户名为 newuser

    [ec2-user ~]$ sudo adduser newuser

    [Ubuntu] 在将用户添加到 Ubuntu 系统时,请使用该命令包含 --disabled-password 参数,以避免向该账户添加密码。

    [ubuntu ~]$ sudo adduser newuser --disabled-password
  2. 切换到新账户,以便将创建的目录和文件具有正确的所有权。

    [ec2-user ~]$ sudo su - newuser [newuser ~]$

    请注意,在此示例中,如果提示从 ec2-user 变为 newuser,则表示您已将 Shell 会话切换到新账户。

  3. 将 SSH 公有密钥添加到用户账户。首先在 SSH 密钥文件的用户主目录中创建一个目录,然后创建密钥文件,最后将公有密钥粘贴到密钥文件中。

    1. .ssh 主目录中创建一个 newuser 目录,并将其权限更改为 700 (只有文件所有者能够读取、写入或打开该目录。)

      [newuser ~]$ mkdir .ssh [newuser ~]$ chmod 700 .ssh

      重要

      如果没有这些确切的文件权限,用户将无法登录。

    2. authorized_keys 目录中创建名为 .ssh 的文件并将其权限更改为 600 (只有文件所有者能够读取或写入此文件)。

      [newuser ~]$ touch .ssh/authorized_keys [newuser ~]$ chmod 600 .ssh/authorized_keys

      重要

      如果没有这些确切的文件权限,用户将无法登录。

    3. 使用您常用的文本编辑器 (如 vimnano) 打开 authorized_keys 文件。

      [newuser ~]$ nano .ssh/authorized_keys

      将密钥对的公有密钥粘贴到该文件并保存更改。例如:

      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

      用户现在应该能够使用对应添加到 newuser 文件的公有密钥的私有密钥登录实例上的 authorized_keys 账户。

删除用户账户

如果不再需要某个用户账户,可以将其删除,使它不再可用。

使用 userdel 命令从系统中删除用户账户。当您指定 -r 参数时,用户的主目录和邮件后台打印将被删除。要保留用户的主目录和邮件后台打印,请省略 -r 参数。

[ec2-user ~]$ sudo userdel -r olduser