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

在 Linux 实例上管理用户账户

每个 Linux 实例类型均使用默认 Linux 系统用户账户启动。对于 Amazon Linux 2 或 Amazon Linux,用户名称是 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-user 的访问权限更安全,因为如果使用不当,该账户可能对系统造成严重破坏。

添加用户账户后,您必须设置允许用户登录的访问密钥。

先决条件

为用户创建密钥对或使用现有密钥对。有关更多信息,请参阅 使用 Amazon EC2 创建密钥对。要从现有密钥对检索公有密钥,请参阅在 Linux 上检索密钥对的公有密钥

添加用户账户

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

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

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

    重要

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

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

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

    重要

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

  5. 使用您常用的文本编辑器 (如 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

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

从系统中删除用户

如果不再需要某个用户账户,可以将其删除,使它不再可用。当您指定 -r 选项时,用户的主目录和邮件后台打印将被删除。要保留用户的主目录和邮件后台打印,请省略 -r 选项。

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