Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)

在 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 实例的提示

创建用户账户

首先创建用户账户,然后添加允许用户连接并登录实例的 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