在 Linux 執行個體上管理使用者 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Linux 執行個體上管理使用者

每個 Linux 執行個體都會使用預設 Linux 系統使用者來啟動。您可以將使用者新增至執行個體,並刪除使用者。

對於預設使用者,預設使用者名稱會取決於您啟動執行個體時指定的 AMI。

注意

預設情況下,密碼驗證和根登入會停用,而 sudo 會啟用。若要登入執行個體,您必須建立金鑰對。如需有關登入的詳細資訊,請參閱連接至您的 Linux 執行個體

您可以允許執行個體的密碼驗證和根登入。如需詳細資訊,請參閱適用於您作業系統的文件。

注意

Linux 系統使用者不應和 IAM 使用者混淆。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM 使用者

預設使用者名稱

EC2 執行個體的預設使用者名稱取決於您啟動執行個體時指定的 AMI。

預設使用者名稱為:

  • 對於 AL2023、Amazon Linux 2 或 Amazon Linux AMI,使用者名稱為 ec2-user

  • 若使用 CentOS AMI,使用者名稱為 centosec2-user

  • 若為 Debian AMI,使用者名稱為 admin

  • 對於 Fedora AMI,使用者名稱為 fedoraec2-user

  • 對於 RHEL AMI,使用者名稱為 ec2-userroot

  • 針對 SUSE AMI,使用者名稱為 ec2-userroot

  • 若為 Ubuntu AMI,使用者名稱為 ubuntu

  • 若使用 Oracle AMI,使用者名稱為 ec2-user

  • 若使用 Bitnami AMI,使用者名稱為 bitnami

注意

若要尋找其他 Linux 發行版的預設使用者名稱,請洽詢 AMI 提供者。

考量事項

許多應用程式都適合使用預設使用者。不過,您可以選擇新增使用者,讓個人能有自己的檔案和工作空間。此外,為新使用者建立使用者也會比授予多名 (可能缺乏經驗) 預設使用者的存取權更安全,因為若預設使用者使用不當,可能會對系統造成重大傷害。如需詳細資訊,請參閱保護 EC2 執行個體的要訣

若要讓使用者能夠使用 Linux 系統使用者,透過 SSH 存取您的 EC2 執行個體,您必須與使用者共用 SSH 金鑰。或者,您可以使用 EC2 Instance Connect 為使用者提供存取權限,如此就不需要共用和管理 SSH 金鑰。如需詳細資訊,請參閱 使用 EC2 Instance Connect 連線至 Linux 執行個體

建立使用者

首先建立使用者,然後新增允許使用者連線至並登入執行個體的 SSH 公有金鑰。

建立使用者
  1. 建立新的金鑰對。您必須將 .pem 檔案提供給您要為其建立使用者的使用者。他們必須使用此檔案來連接到執行個體。

  2. 從您在上一個步驟中建立的金鑰對中,擷取公開金鑰。

    $ ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem

    此命令會傳回公有金鑰,如下列範例所示。

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
  3. 連線到執行個體。

  4. 使用 adduser 命令建立使用者並將其新增到系統 (在 /etc/passwd 檔案中具有項目)。此命令也會為使用者建立群組和主目錄。在此範例中,使用者命名為 newuser

    • Amazon Linux 和 Amazon Linux 2

      如果使用 Amazon Linux 和 Amazon Linux 2,則在預設情況下,建立的使用者已停用密碼驗證。

      [ec2-user ~]$ sudo adduser newuser
    • Ubuntu

      包含 --disabled-password 參數,以建立已停用密碼驗證的使用者。

      [ubuntu ~]$ sudo adduser newuser --disabled-password
  5. 切換到新的使用者,以便您建立的目錄和檔案可擁有適當的所有權。

    [ec2-user ~]$ sudo su - newuser

    此提示會從 ec2-user 變更為 newuser,表示您已將 shell 工作階段切換至新使用者。

  6. 將 SSH 公有金鑰新增到使用者。首先在使用者的主目錄中建立 SSH 金鑰檔案的目錄、然後建立金鑰檔案,最後將公有金鑰貼到金鑰檔案中,如下列子步驟中所示。

    1. .ssh 主目錄中建立 newuser 目錄,然後將其檔案許可變更為 700 (只有擁有者能讀取、寫入和開啟目錄)。

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

      若沒有這些明確的檔案許可,使用者將無法登入。

    2. .ssh 目錄中建立名為 authorized_keys 的檔案,然後將其檔案許可變更為 600 (只有擁有者能讀取和寫入檔案)。

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

      若沒有這些明確的檔案許可,使用者將無法登入。

    3. 使用您喜愛的文字編輯器 (例如 vimnano) 來開啟 authorized_keys 檔案。

      [newuser ~]$ nano .ssh/authorized_keys

      將您在步驟 2 中擷取到的公開金鑰貼到檔案中,並儲存這些變更。

      重要

      請確定將此公開金鑰貼成連續一行。此公開金鑰絕對不可分成多行。

      使用者現在應該能使用對應到您為 authorized_keys 檔案新增之公有金鑰的私有金鑰,在您的執行個體上登入 newuser 使用者。如需連接至 Linux 執行個體之不同方法的詳細資訊,請參閱連接至您的 Linux 執行個體

移除使用者

若不再需要使用者,您可以移除該使用者,使該使用者無法再被使用。

使用 userdel 命令來移除系統的使用者。當指定 -r 參數時,也會同時刪除使用者的主目錄和郵件多工緩衝處理。若要保留使用者的主目錄和郵件多工緩衝處理,請忽略 -r 參數。

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